Arrays React Native-如何查找数组中的一个值是否与另一个数组中的一个值匹配?
我已找到并试用了Arrays React Native-如何查找数组中的一个值是否与另一个数组中的一个值匹配?,arrays,reactjs,if-statement,react-native,Arrays,Reactjs,If Statement,React Native,我已找到并试用了.includes,以帮助解决此问题。但是.includes没有按我的预期工作。它确实找到了数组中的哪个值与另一个数组中的值匹配,但它只匹配了类似的值: [10,22,12,36,45,206] [5,13,28,136,400,538] 结果\u用逗号映射后的结果: [10,22,12,36,45,206] [5,13,28,136,400,538] item.id结果用逗号映射: [10,22,12,36,45,206] [5,13,28,136,400,538]
.includes
,以帮助解决此问题。但是.includes
没有按我的预期工作。它确实找到了数组中的哪个值与另一个数组中的值匹配,但它只匹配了类似的值:
[10,22,12,36,45,206]
[5,13,28,136,400,538]
结果\u用逗号映射后的结果:
[10,22,12,36,45,206]
[5,13,28,136,400,538]
item.id结果用逗号映射:
[10,22,12,36,45,206]
[5,13,28,136,400,538]
我试图弄明白为什么有些值在应该是明显的false
时仍返回true
。然后我得出结论,.includes
实际上是从结果posted
中提取36
,并将其与项目id中的136
匹配。这就是我如何使用设置if语句的方法。includes
:
{result_postid.includes(item.id) ?
<Text>True</Text>
:
<Text>False</Text>
}
您可以使用.some
和.findIndex
实现相同的功能
const postId=[10,22,12,36,45206]
const itemId=[5,13,28136400538]
const res=postId.some(id=>itemId.findIndex(elem=>elem==id)>-1);
log(res)
所以,我不清楚您发布的结果是否是数组。。。但您可以尝试使用lodash查找任何值。您确定result.posted是一个数组吗?String类还有一个名为includes()的方法。非常感谢!如何在render()
中的if和else语句中进行设置@ShubhamKhatri@LaneyWilliams在answerOk中更新了它,因为我的item.id
在一个平面列表中,我这样做:{result\u postid.some(id=>item.id.findIndex(elem=>elem==id)>-1)?True:False}
我得到了这个错误:typerror:undefined不是一个函数(计算'result\u postid.some')
是否需要将其放入常量中?