【发布时间】:2017-02-06 13:59:57
【问题描述】:
到目前为止,我有这个代码:
var isMatch = viewedUserLikedUsersArray.indexOf(logged_in_user);
if (isMatch >=0){
console.log('is match');
}
else {
console.log('no match');
}
如果一个元素在一个数组中,它将返回一个大于或等于 0 的数字,所以我可以说isMatch >=0,但这似乎不是最安全的方法。我还能如何从所需的代码中返回真/假?
【问题讨论】:
-
这有什么不安全的?这就是函数的工作原理。
-
这是
.indexOf()的定义行为 - 返回值-1表示该值在数组中不是,任何其他值都表示它是。 -
最安全的方式是什么意思?这会在哪里失败?您可以使用
.find或.includes。 -
将其包装在一个函数中,并返回一个布尔值而不是记录到控制台。
-
有一个 ES2015 替代方案 ... Array#includes
标签: javascript arrays boolean indexof