我通过与下面的代码段的如下所示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

...对Array的默认.toString()是一个逗号分隔的列表,所以这就是你与alert()看到。例如,如果你不是做alert(key + "/" + valueObj[0] );,你会看到:

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]);
        }
     }
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top