Array.includes 对数组元素进行严格的比较。
var array1 = [1, 2, 3];
console.log(array1.includes(2)); // return true
console.log(array1.includes("2")); // return false
Run Code Online (Sandbox Code Playgroud)
但我希望结果在第二种情况下也返回 true。我的主要目标是知道数组是否包含一个元素。请建议如何实现这一点。
那你不能用includes。您可以使用some:
console.log(array1.some(e => e == "2"));
Run Code Online (Sandbox Code Playgroud)
或在 ES5 中:
console.log(array1.some(function(e) { return e == "2";}));
Run Code Online (Sandbox Code Playgroud)
some按顺序调用您为条目提供的回调,直到您的回调返回真值,在这种情况下some停止并返回true。如果您的回调从不返回真值(或数组为空),则some返回false.
some 在 ES5 (2009) 中添加。
现场示例:
console.log(array1.some(e => e == "2"));
Run Code Online (Sandbox Code Playgroud)