javascript - 使用 array.includes 进行松散相等比较

标签 javascript arrays

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/

相关文章:

javascript - 图片库问题 jquery

javascript - socket.io和express js的使用

javascript - 在调整大小时替换 HTML

c - 以 float 形式打印数组,其中大小取决于用户输入

javascript - 如何导出函数?

arrays - Swift - 排序数组类似于另一个

java - Java 中的数组列表

arrays - 如何在PL/SQL函数中使用传递数组

c# - 使用星号的图表(循环、数组)

javascript - 选项追加不添加值以选择下拉列表