使用javascript / es6,我如何编写一个单行程序,返回一个布尔值,指明data
是否包含theId == 3
的条目:
let data = [{"name":"Tom",address:"Here","theId":"1"},{"name":"Neve",address:"There","theId":"2"}]
如果我仅限于以这种方式组织data
。
答案 0 :(得分:6)
您可以使用some()
和ES6箭头功能。
let data = [{"name":"Tom",address:"Here","theId":"1"},{"name":"Neve",address:"There","theId":"2"}]
var check = data.some(arr => arr.theId == 3);
console.log(check)

答案 1 :(得分:0)
data.filter(item => item.theId == 3).length > 0;
答案 2 :(得分:0)
对于一个班轮来说似乎有点复杂。
data.some((item) => {return item.theId === "3"});
答案 3 :(得分:0)
您可以对阵列使用some方法。
此方法遍历数组的每个元素,直到找到第一个可以返回true然后停止进一步迭代的情况。
data.some((obj) => {
return obj.theId === 3;
});
如果找到带有theId : '3'
的第一个元素,上面的代码将返回true,否则它将返回false;
答案 4 :(得分:0)
这就是我提出的:
data.map(x => x.theId).indexOf("3") > -1;