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"));
或者在ES5中:
console.log(array1.some(function(e) { return e == "2";}));
some
按顺序调用您为条目提供的回调,直到您的回调返回truthy值,在这种情况下some
停止并返回true
。如果你的回调永远不会返回真值(或数组为空),some
将返回false
。
在ES5(2009年)中添加了some
。
实例:
const array1 = [1, 2, 3];
console.log(array1.some(e => e == "2"));