📕 重学JavaScript:判断数组中包含哪些值有什么好方法?
嗨,大家好!这里是道长王jj
~ 🎩🧙♂️
这里是关于 Javascript 数组高阶函数的第二篇文章。
你有没有遇到过这样的问题:你想要判断一个数组中包含哪些值,但是却不知道改用什么方法就直接用for循环遍历?🤔
其实,这种只要是跟数组有关系的问题,都可以尝试用一些高阶函数来解决。
高阶函数有许多的特定场景可以给我们许多的便利😊,而且这些场景又恰恰是我们最常用的一些场景👍
因此这一期我们就专门针对这个问题看看,有什么什么好的方法提供给我们。
方法一:array.indexOf
这个方法可以告诉我们某个值在数组中的下标。如果数组中有这个值,就返回它的下标;如果没有,就返回-1。
看看下面的例子:
var arr=[1,2,3,4];
var index=arr.indexOf(3);
console.log(index); // 2
这样我们就知道3在数组中的位置了。👍
方法二:array.includes(searcElement[,fromIndex])
这个方法可以告诉我们数组中是否包含某个值。如果数组中有这个值,就返回true;如果没有,就返回false。
var arr=[1,2,3,4];
if(arr.includes(3))
console.log("存在"); // 存在
else
console.log("不存在");
这样我们就知道数组中是否有3了。😊
方法三:array.find(callback[,thisArg])
这个方法有点复杂,它可以帮助我们找到数组中满足条件的第一个元素的值。
它需要一个回调函数作为参数,这个回调函数会对数组中的每个元素进行判断,如果返回true,就表示找到了满足条件的元素;如果没有找到,就返回undefined。🕵️♂️
var arr=[1,2,3,4];
var result = arr.find(item =>{
return item > 3 // 判断是否大于3
});
console.log(result); // 4
这样我们就找到了数组中第一个大于3的值了。👏
方法四:array.findeIndex(callback[,thisArg])
这个方法和上一个方法很类似,只不过它返回的是满足条件的第一个元素的下标,而不是值。如果没有找到,就返回-1。👉
var arr=[1,2,3,4];
var result = arr.findIndex(item =>{
return item > 3 // 判断是否大于3
});
console.log(result); // 3
这样我们就找到了数组中第一个大于3的值的位置了。😎
方法五:for循环暴力查找
当然,for循环当然是没有问题的,这里讨论的是数组方法,就不再展开了😜
👩🦰 想要了解更多
列Api的东西其实没什么好写的。还是惯例,我把文档地址列在这里。
如果你想了解更多关于 array 方法的信息,你可以查看 MDN 的文档:
🎉 你觉得怎么样?这篇文章可以给你带来帮助吗?如果你有任何疑问或者想进一步讨论相关话题,请随时发表评论分享您的想法,让其他人从中受益。🚀✨