过滤器返回true或false

filter return true or false

本文关键字:false true 返回 过滤器      更新时间:2023-09-26

我正在使用filter在数据中查找id。它返回的对象不是true或false。

如果val.recoredId === valueId,如何返回true或false?

var hasMatch = data.filter(function (val) {
  return (val.recordId === valueId);
});
        

只需检查过滤结果的长度即可。

var hasMatch = data.filter(function (val) {
  return (val.recordId === valueId);
}).length > 0;

虽然调用附加长度的filter确实解决了这个问题,但我将向您指出some()方法

hasMatch = data.some(function (value) {
   return value.recordId == valueId
});

如果数组包含任何匹配的value.recordId == valueId条目

,这将返回一个布尔值

使用find

 hasMatch = data.find(function (value) {return value.recordId == valueId });

尝试这个

var hasMatch = data.filter(function (val) {
    return !!(val.recordId === valueId);                               
});