我使用过滤器在data.it中找到id。返回对象不是true或false。如果val.recoredId === valueId?
,我怎么能返回true或false var hasMatch = data.filter(function (val) {
return (val.recordId === valueId);
});
答案 0 :(得分:10)
只需检查过滤结果的长度
var hasMatch = data.filter(function (val) {
return (val.recordId === valueId);
}).length > 0;
答案 1 :(得分:3)
使用find
hasMatch = data.find(function (value) {return value.recordId == valueId });
答案 2 :(得分:0)
试试这个
var hasMatch = data.filter(function (val) {
return !!(val.recordId === valueId);
});
答案 3 :(得分:0)
虽然调用附加了长度的过滤器确实可以解决此问题,但我还是将您指向some()
method
hasMatch = data.some(function (value) {
return value.recordId == valueId
});
如果数组包含任何匹配的value.recordId == valueId
条目,则将返回布尔值