本篇文章给大家总结了一些javascript遍历数组的几种方法。有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助。
/2020/10/c75b5b8f.jpg
有几种方法可以遍历数组,下面将逐个罗列!
while循环
let index = 0; const array = [1, 2, 3, 4, 5]; while (index < array.length) { console.log(array[index]); index++; }
/2020/10/0571d8e9.png" alt="在这里插入图片描述
for循环
const array = [1,2,3,4,5]; for(let index=0;index<array.length;index++){ console.log(array[index]); } for(let index in array){ console.log(array[index]); }
/2020/10/d5966cd4.png" alt="在这里插入图片描述
forEach
const array=[1,2,3,4,5]; array.forEach(function(current_value,index,array){ console.log(`At index ${index} in array ${array} the value is ${current_value}`) })
/2020/10/f95d3aad.png" alt="在这里插入图片描述
map
最后一个构造很有用,但是不会返回新数组,这对于你的特定情况可能是不希望的。map通过对每个元素应用一个函数然后返回新数组来解决此问题。
const array = [1,2,3,4,5]; const square = x =>Math.pow(x,2); const squares = array.map(square); console.log(`${array}`); console.log(`${squares}`)
/2020/10/f8d9a450.png" alt="在这里插入图片描述
reduce
reduce()方法对累加器和数组中的每个元素(从左到右)应用一个函数,以将其减小为单个值
const array = [1,2,3,4,5]; const sum = (x,y) => x + y; const array_sum = array.reduce(sum,0); console.log(`the sum of arrray:${array} is ${array_sum}`);
/2020/10/60da0842.png" alt="在这里插入图片描述
filter
根据布尔函数过滤筛选数组中的元素
const array = [1,2,3,4,5]; const even = x => x%2 === 0; const even_array = array.filter(even); console.log(`even numbers in array ${array} : ${even_array}`);
/2020/10/3f0c3309.png" alt="在这里插入图片描述
every
得到了一个数组,想测试每个元素是否满足给定条件
const array = [1,2,3,4,5,8]; const under_six = x => x<6; if(array.every(under_six)){ console.log(`every elemnet in the array is less than 6`); } else{ console.log(`at least one element in the array was bigger than 6`); }
/2020/10/19d0c651.png" alt="在这里插入图片描述
some
测试是否至少有一个元素与布尔函数匹配
const array = [2,4,5,6,8]; const over_five = x => x>5; if(array.some(over_five)){ console.log(`at least one element bigger than 5 was found`); } else{ console.log(`no element bigger than 5 was found`); }
/2020/10/a19bd0b4.png" alt="在这里插入图片描述
到此就结束啦,如果还有其他的欢迎补充!
相关教程推荐:JavaScript视频教程
以上就是总结javascript中遍历数组的几种方法的详细内容,更多请关注北冥有鱼其它相关文章!
本文转载自【PHP中文网】,希望能给您带来帮助,苟日新、日日新、又日新,生命不息,学习不止。