【发布时间】:2013-12-19 04:07:57
【问题描述】:
我创建了一个 for in 循环,并试图理解为什么当我运行它时,控制台会记录 2x“我们知道了”。似乎如果我在循环中,您只希望它在找到该属性一次的情况下记录一次。
我也是 JS 新手,所以如果您对我的格式有任何反馈,我们将不胜感激。节日快乐!
var obj = {
company: 'planters',
peanuts: 'plain'
};
for (var key in obj) {
if (obj.hasOwnProperty('peanuts')) {
console.log('We got it');
} else {
console.log("We cant find it");
}
};
【问题讨论】:
-
您没有对
if语句中的当前密钥执行任何操作。 -
换一种说法,你不想要for/in,你实际上想要
Object.keys(obj).forEach(...)。 for/in 通常要求您首先执行if (obj.hasOwnProperty(key))检查以查看您是在处理本地属性还是继承属性。 Object.keys 不会发生这种要求(和问题)
标签: javascript for-in-loop console.log