在一个对象中使用for循环,其中包含一个对象的数组节点js
问题描述:
我一直在试图弄清楚这一点,我只是不能。我有一个对象,里面有一个数组,里面有对象。我想弄清楚如何使用for循环来搜索数组的对象。继承人我尝试:在一个对象中使用for循环,其中包含一个对象的数组节点js
var obj = {
array: [
{"meme" : "123", "mememe" : "456"},
{"meme" : "234", "mememe" : "567"}
]
}
console.log(obj.array)
for(var i in obj) {
console.log(i);
};
此代码原木像这样的数组:
[ { meme: '123', mememe: '456' },
{ meme: '234', mememe: '567' } ]
然后,它只是记录:
0
1
我希望它登陆是一样的东西
{ meme: '123', mememe: '456' }
{ meme: '234', mememe: '567' }
所以我可以做一些事情这段代码。
答
如果你只是想通过obj.array循环中,您可以使用:
for (var i = 0; i < obj.array.length; i++) {
console.log(obj.array[1]);
}
或
for (var object of obj.array) {
console.log(object);
}
或
obj.array.forEach(function(object) { console.log(object) });
如果你想每一个阵列,可能是在
OBJ你可以做到这一点遍历
:
for (var property in obj) {
// gets all the propertie-names of object (in this case just 'array')
for(var object of obj[property]) {
// iterates through all the items in the array (in this case just obj['array'])
console.log(object);
}
}
答
您可以用for
statement迭代数组,并使用索引访问对象。
Mabye你看看这里,太:Why is using for ....in
with array iteration a bad idea?
var obj = {
array: [
{ meme: "123", mememe: "456"},
{ meme: "234", mememe: "567"}
]
},
i
for (i = 0; i < obj.array.length; i++) {
console.log(obj.array[i]);
}
答
这里有一个解决方案。
var obj = {
array: [
{"meme" : "123", "mememe" : "456"},
{"meme" : "234", "mememe" : "567"}
]
}
obj.array.forEach(function(item) {
console.log(item);
})
而的jsfiddle链路(刚打开开发工具(CTRL + SHIFT + I上视窗) https://jsfiddle.net/4cn6s3tf/
的可能的复制(HTTPS [供-每遍在JavaScript的阵列?]:/ /stackoverflow.com/questions/9329446/for-each-over-an-array-in-javascript) – Blaskovicz