我有一个单级 JSON 来搜索给定值是否存在。 ecma5 中是否提供了相同的紧凑方法?
JSON.parse
解析 JSON 字符串以获取 JavaScript 对象。in
运算符检查成员是否存在
var jsObj = JSON.parse('{"p": 5}');
console.log(jsObj);
if ("p" in jsObj) {
console.log("`p` exists");
}
输出
{ p: 5 }
`p` exists
因为听起来您正在寻找未知键中的特定值,假设您已经解析了 JSON,那么您将需要更多类似的内容:
function valueExists(jsObj, value){
for (var key in jsObj){
if (jsObj[key] == value) return true;
}
return false;
}
最短的解决方案:
var jsObj = JSON.parse('{"v": 10}');
if (jsObj.v==10) {
console.log("`v=`"+jsObj.v);
}