我一直在谷歌Chrome控制台中使用Array.indexOf
,我尝试了这些代码
[1,2,3].indexOf(3);
[1,2,"3"].indexOf("3");
他们都返回2,但是当我尝试这些代码时
[1,2,"3"].indexOf(3);
[1,2,3].indexOf("3");
他们都返回-1。我想要它也返回2,我怎么能这样做?感谢您的帮助,时间和精力!
答案 0 :(得分:5)
您可以使用Array.prototype.findIndex()
,==
运算符
var n = 3;
console.log(
[1,2,3].findIndex(el => el == n)
, [1,2,"3"].findIndex(el => el == n)
)

答案 1 :(得分:4)
扩展guest271314的帖子:将两个值都转换为字符串。这也适用于数字和字符串
val = true
console.log([1,2,"true"].findIndex(item => String(item) === String(val)))