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]); } }