Mar*_*ark 10 javascript object
我有一个javascript对象
var obj = {
"0" : "apple",
"1" : "pear",
"2" : "orange"
}
Run Code Online (Sandbox Code Playgroud)
我想检查'orange'是否在obj中.
是否有内置功能可以做到这一点?或者我应该迭代obj的每个值?
谢谢.
Poi*_*nty 14
你必须迭代:
for (var k in obj) {
if (!obj.hasOwnProperty(k)) continue;
if (obj[k] === "orange") {
/* yaay! an orange! */
}
}
Run Code Online (Sandbox Code Playgroud)
现在,"hasOwnProperty"测试是为了确保你不会绊倒从原型继承的属性.在某些情况下,这可能并不理想,而且它确实是您需要了解的事情之一,以确定您是否确实要进行该测试.从对象的原型中提取的属性有时可能是各种库放在那里的东西.(我认为ES5标准提供了控制这些属性是否"可迭代"的方法,但在现实世界中仍有IE7.)
| 归档时间: |
|
| 查看次数: |
19618 次 |
| 最近记录: |