Javascript:如何检查特定键是否存在

时间:2018-11-13 06:44:03

标签: javascript object

我通过调用API得到响应。就是这样。

[{"id":213132},{"id":241132},{"id":465413},{"id":546351},{"id":164854,"data":[{"rate" : 20}]},
{"id":564656,"data":[{"rate" : 40}]}]

如何检查特定ID是否存在键 data

任何帮助都会很棒。 谢谢。

6 个答案:

答案 0 :(得分:3)

您可以首先使用raise DistributionNotFound(req, requirers) pkg_resources.DistributionNotFound: The 'supervisor==3.2.0' distribution was not found and is required by the application 获取具有所需ID的对象,然后检查属性Array.find()是否未定义

data

答案 1 :(得分:2)

let id = 164854;
result = myArray.filter((val) => {return val.id === id && val.data;});

答案 2 :(得分:1)

您可以使用filter

 let data = [{"id":213132},{"id":241132},{"id":465413},{"id":546351},{"id":164854,"data":[{"rate" : 20}]} ];
    function hasData(key) { return !!data.filter(x=> x.id==key)[0].data }
    console.log(hasData("213132"))
    console.log(hasData("164854"))

答案 3 :(得分:1)

您可以使用“ Array.find”检查id是否存在,然后可以使用“ !!”将结果转换为布尔值。

var arr = [{"id":213132},{"id":241132},{"id":465413},{"id":546351},{"id":164854,"data":[{"rate" : 20}]}]


function doesDataExist(id) {
   return !!arr.find(d => d.id == id).data
}

console.log(doesDataExist(164854))

console.log(doesDataExist(213132))

答案 4 :(得分:1)

您可以简单地使用Array.some(),它将根据条件返回布尔值。

let arr=  [{"id":213132},{"id":241132},{"id":465413},{"id":546351, "data":[{"id":1}]},{"id":164854}];

let id = 546351;
console.log(arr.some(obj => obj.id == id && !!obj.data));

id = 213132;
console.log(arr.some(obj => obj.id == id && !!obj.data));

答案 5 :(得分:1)

您可以使用findIndex函数查找特定的ID

let id = 241132;
let index = arr.findIndex((data)=> data.id == id)
index==-1 ? console.log("not find") : console.log("find index=>"+index)