Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何检查是否从筛选器调用返回了对象?_Javascript_Arrays_Reactjs - Fatal编程技术网

Javascript 如何检查是否从筛选器调用返回了对象?

Javascript 如何检查是否从筛选器调用返回了对象?,javascript,arrays,reactjs,Javascript,Arrays,Reactjs,我试图返回true或false,但filter方法返回一个新数组,其中包含与返回匹配的对象。有可能只返回true吗?我已经看过了includes原型,但它似乎也返回了整个对象 我试过以下方法 let check = this.props.data.filter(obj => { return obj.idNum.includes(value); }); let check = this.props.data.map(obj => { return obj.idNum.inc

我试图返回true或false,但filter方法返回一个新数组,其中包含与返回匹配的对象。有可能只返回true吗?我已经看过了includes原型,但它似乎也返回了整个对象

我试过以下方法

let check = this.props.data.filter(obj => {
  return obj.idNum.includes(value);
});

let check = this.props.data.map(obj => {
  return obj.idNum.includes(value);
});

let check = this.props.data.filter(obj => {
  return obj.idNum.includes(value) : true ? false;
});

我只是想检查对象数组是否包含我要查找的值。我正在检查每个对象的idNum是否匹配

看看数组
。一些
方法。你可以这样使用它:

let check = this.props.data.some(obj => {
    return obj.idNum === value;
});

如果给定给它的函数对任何数组元素都返回true,some方法将返回true。

除了JanS的建议(这是最好的方法)之外,还可以查看一下,
filter
将始终返回数组,您可以检查length属性,如果为零,则该属性将为false;如果为其他任何内容,则该属性为truthy:
let found=arr.filter(someFilterFn).length
。一些原型对于任何匹配都返回true。因此,如果我的ID为00010,它将在0,00,000,0001,020100120130上返回true-我正在寻找一个精确的匹配Uhm,顺便说一句,您上次的尝试在语法上是不正确的。三元运算符应该看起来像
obj.idNum.includes(value)?true:false
。此外,它不提供任何逻辑,在这种情况下绝对可以忽略。哦,是的-这是一个打字错误,很抱歉我尝试了。假设ID为000020-上面的方法返回0,00,000,0002,00001,001010等的true。@user3622460您的ID是字符串吗?如果是,请不要使用include,只需直接比较。例如:
返回obj.idNum===value
。我将编辑我的答案。