如何动态检查json对象名是否存在

时间:2015-05-25 14:35:14

标签: javascript

JSON

fields = ['name', 'age', 'hobby']

我有一个数组for (var i in fields),我想运行data.fields[i],并检查对象是否存在,例如{{1}},这段代码不起作用,怎么做?< / p>

3 个答案:

答案 0 :(得分:3)

也可以使用方括号表示法引用对象字段

data[fields[i]]

您应该使用hasOwnProperty(请参阅the docs):

data.hasOwnProperty(fields[i])

答案 1 :(得分:0)

使用括号表示法:

for (var i in fields) {
    data[fields[i]];
}

答案 2 :(得分:0)

假设该对象不是嵌套对象,请使用Object.keysArray.prototype.some

var data = {"name": "chan", "age": "35"};
var fields = ['name', 'age', 'hobby'];

var doesKeyExist = Object.keys(data).some(function(key){ return fields.indexOf(key) > -1 });

JSFIDDLE