Javascript 如何检查是否从筛选器调用返回了对象?
我试图返回true或false,但filter方法返回一个新数组,其中包含与返回匹配的对象。有可能只返回true吗?我已经看过了includes原型,但它似乎也返回了整个对象 我试过以下方法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
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
。我将编辑我的答案。