filter返回true或false

时间:2016-05-10 14:27:30

标签: javascript filter

我使用过滤器在data.it中找到id。返回对象不是true或false。如果val.recoredId === valueId?

,我怎么能返回true或false
 var hasMatch = data.filter(function (val) {
            return (val.recordId === valueId);                               
        });

4 个答案:

答案 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条目,则将返回布尔值

相关问题