jQuery:正确地循环对象?

我试图使用以下代码片段循环显示下面显示的JS对象,同时需要同时获取索引键和内部对象。

我怎么能这样做,因为以下不起作用?

物体:

({ prop_1:["1", "2"], prop_2:["3", "4"]}) 

我的代码:

 $.each(myObject, function(key,valueObj){ alert(key + "/" + valueObj.toSource() ); }); 

预期产量:

 prop_1 / (["1", "2"]) 

你正在获取的内部对象, valueObj 数组,它只是没有方法.toSource() (至少不是跨浏览器),如果你删除它你会得到一个警告:

 $.each(myObject, function(key,valueObj){ alert(key + "/" + valueObj ); }); 

你可以在这里测试它 ,不要抛出输出只是:

 prop_1/1,2 prop_2/3,4 

…数组上的默认.toString()是一个以逗号分隔的列表,因此您可以看到alert() 。 例如,如果您改为做alert(key + "/" + valueObj[0] ); ,你会看到:

 prop_1/1 prop_2/3 

…所以你可以看到你有你想要的数组, 你可以在这里测试 。

你可以使用for循环:

  var myObject = ({ prop_1:["1", "2"], prop_2:["3", "4"]}) for (var key in myObject) { if (myObject.hasOwnProperty(key)) { alert(key + "/" + myObject[key]); } }