Javascript jQuery:正确地循环对象?

Javascript jQuery:正确地循环对象?,javascript,jquery,loops,object,each,Javascript,Jquery,Loops,Object,Each,我正试图用下面的代码片段遍历下面显示的JS对象,同时需要获取索引键和内部对象 我到底该怎么做,因为下面的方法不起作用 对象: 我的代码: 预期产出: 您正在获取的内部对象,valueObj是数组,它只是没有方法.toSource()(至少没有跨浏览器),如果删除该对象,您将收到一个警报: $.each(myObject, function(key,valueObj){ alert(key + "/" + valueObj ); }); ,不要以为输出只是: prop_1/1,2 pro

我正试图用下面的代码片段遍历下面显示的JS对象,同时需要获取索引键和内部对象

我到底该怎么做,因为下面的方法不起作用

对象: 我的代码: 预期产出:
您正在获取的内部对象,
valueObj
是数组,它只是没有方法
.toSource()
(至少没有跨浏览器),如果删除该对象,您将收到一个警报:

$.each(myObject, function(key,valueObj){
    alert(key + "/" + valueObj );
});
,不要以为输出只是:

prop_1/1,2
prop_2/3,4
…数组上默认的
.toString()
是一个逗号分隔的列表,因此这就是您在
警报()
中看到的。例如,如果您改为发出
警报(键+“/”+valueObj[0]),您将看到:

prop_1/1
prop_2/3

…因此您可以看到您确实拥有所需的阵列。

您可以使用for in循环:

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

这也将包括函数,因此如果不需要,请确保使用
typeof
对它们进行过滤。(JavaScript,好的部分,3.7枚举)
prop_1/1,2
prop_2/3,4
prop_1/1
prop_2/3
    var myObject = ({ prop_1:["1", "2"], prop_2:["3", "4"]})
    for (var key in myObject) {
       if (myObject.hasOwnProperty(key)) {
           alert(key + "/" + myObject[key]);
        }
     }