如何实现JavaScript中判断数组是否包含特定元素的方法汇总?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1406个文字,预计阅读时间需要6分钟。
我在学习ES6数组拓展时,发现了不少有趣的数组方法。突然想在工作中断定数组是否包含某个元素,这其实是一个很常见的操作。那么,这篇文章就来做一个整体梳理。
1. 使用for循环结合break语句,可能很常见。
我在学习ES6数组拓展时,发现了新增了不少了有趣的数组方法,突然想好工作中判断数组是否包含某个元素是非常常见的操作,那么这篇文章顺便做个整理。
1.for循环结合break
可能很多人第一会想到for循环,毕竟for是最为保险和熟悉的操作:
let arr = [1, 2, undefined, '听风是风', 'echo'], i = 0; const LENGTH = arr.length; //初始化result状态,只要能找到匹配的则修改为true let result = false; for (; i < LENGTH; i++) { if (arr[i] === '听风是风') { result = true; break; }; }; if (result) { //do something... };
使用for的好处是,能结合break在找到满足条件的情况下,立刻跳出循环,如果第一个元素就符合条件,那后续循环步骤都可以优化直接跳过了。
使用for的缺点是,查找不够直观,我们在for循环中无法直接return查询结果,当然你可以将for循环写在一个函数中,但你还是需要额外定义个result变量。
其次,对于数组操作,我们虽然能使用for循环解决很多问题,但我们不能把目光永远第一个投向for,除了for呢?试着将目光投向更多数组高阶函数,思考更多可能是非常必要的。
本文共计1406个文字,预计阅读时间需要6分钟。
我在学习ES6数组拓展时,发现了不少有趣的数组方法。突然想在工作中断定数组是否包含某个元素,这其实是一个很常见的操作。那么,这篇文章就来做一个整体梳理。
1. 使用for循环结合break语句,可能很常见。
我在学习ES6数组拓展时,发现了新增了不少了有趣的数组方法,突然想好工作中判断数组是否包含某个元素是非常常见的操作,那么这篇文章顺便做个整理。
1.for循环结合break
可能很多人第一会想到for循环,毕竟for是最为保险和熟悉的操作:
let arr = [1, 2, undefined, '听风是风', 'echo'], i = 0; const LENGTH = arr.length; //初始化result状态,只要能找到匹配的则修改为true let result = false; for (; i < LENGTH; i++) { if (arr[i] === '听风是风') { result = true; break; }; }; if (result) { //do something... };
使用for的好处是,能结合break在找到满足条件的情况下,立刻跳出循环,如果第一个元素就符合条件,那后续循环步骤都可以优化直接跳过了。
使用for的缺点是,查找不够直观,我们在for循环中无法直接return查询结果,当然你可以将for循环写在一个函数中,但你还是需要额外定义个result变量。
其次,对于数组操作,我们虽然能使用for循环解决很多问题,但我们不能把目光永远第一个投向for,除了for呢?试着将目光投向更多数组高阶函数,思考更多可能是非常必要的。

