Array.includes 对数组元素进行严格比较。
var array1 = [1, 2, 3];
console.log(array1.includes(2)); // return true
console.log(array1.includes("2")); // return false
但我希望结果在第二种情况下也返回 true。我的主要目标是知道数组是否包含元素。请建议如何实现这一目标。
最佳答案
您不能使用includes
,因为它始终使用严格相等;您可以使用some
相反:
console.log(array1.some(e => e == "2"));
some
按顺序调用您为元素提供的回调,直到您的回调返回 true 值,在这种情况下,some
停止循环并返回 true
。如果您的回调从未返回真值(包括因为数组为空而从未调用过),则 some
返回 false
。
some
已在 ES5 (2009) 中添加。
实例:
const array1 = [1, 2, 3];
console.log(array1.some(e => e == "2"));
关于javascript - 使用 array.includes 进行松散相等比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47864358/