我有一个物体,卡片,由其他物体组成。
当我循环浏览卡片时,我希望其他对象返回。相反,只返回一个字符串。我已经在下面的代码中包含了内联返回的内容。
console.log(typeof cards); //returns object
console.log(cards); //returns the 3 objects: [Object, Object, Object]
console.log(cards.length); //returns 3
for (var card in cards){
console.log(typeof card); //returns 0,1,2 as a string, but it should return another object
};
答案 0 :(得分:1)
for...in
循环迭代对象的属性,而不是值。
例如:
var cards = ['a', 'b', 'c'];
for(var prop in cards) {
console.log(prop); // 0, 1, 2
console.log(cards[prop]); // 'a', 'b', 'c'
}
此外,请注意for...in
循环是bad way of iterating arrays。
ECMAScript 6引入了for...of
循环,它迭代值:
var cards = ['a', 'b', 'c'];
for(var val of cards) {
console.log(val); // 'a', 'b', 'c'
}