后续陆续推出大学生解惑系列文章,欢迎把疑惑发给我
这道题很简单,就是遍历一个数组,然后判断元素值等于2,就往出取值呗。
这里可能只是一个缩影,现实项目中也不会给你这么一个数组的,可能数组有更多的元素,可能每个元素不再是一个数值型,可能是一个对象,再或者其他,其实可选项非常多,对吧
1、 最原始的for循环
最原始的for循环,再合适不过了,不需要考虑浏览器是不是新的旧的,上手就写,人人可写。但很多人觉得for循环太low了,哪怕是有些大佬也这么觉得。“大佬,请问你这里用了forEach。为什么没有用for循环呢?”“嗯,我觉得for循环太low了”
<script>
let arr = [1, 2, 3, 4];
let temp = null;
for (let i=0;i<arr.length;i++) {
if (arr[i] === 2) {
temp = arr[i];
}
}
console.log(temp);
</script>
2、while来啦
while循环区分do while,do while至少执行一次
<script>
let arr = [1, 2, 3, 4];
let temp = null;
let i = 0;
while (i < arr.length) {
if (arr[i] === 2) {
temp = arr[i];
}
i++;
}
console.log(temp);
</script>
3、map循环来一下
map循环主要是为了通过遍历,改变一些内容,然后再返回新的数组,所以整体走了一遍,想要获取我们想要的那个值,就得在其中做if判断拦截
<script>
let arr = [1, 2, 3, 4];
let temp = null;
let arrNew = arr.map((item) => {
if (item === 2) {
temp = item;
}
return item === 2;
})
console.log('-----', arrNew);
console.log('=====', temp);
</script>
4、forEach再来一把
forEach不像map,不会返回新数组,也会将数组整体遍历一遍
<script>
let arr = [1, 2, 3, 4];
let temp = null;
arr.forEach((item) => {
if (item === 2) {
temp = item;
}
})
console.log(temp);
</script>
5、filter查找一下
<script>
let arr = [1, 2, 3, 4];
let temp = null;
arr.filter((item) => {
if (item === 2) {
temp = item;
return;
}
})
console.log(temp);
</script>
2、还有很多遍历方法
some every find for in for of,乱花渐欲迷人眼啊,继续回答我们的问题,我有一个数组[1, 2, 3, 4],那么现在如果不是4个元素了,而是[1, 2, 3, ......, 100000],然后从中找到是2的元素,该怎么办呢?