本网站(662p.com)打包出售,且带程序代码数据,662p.com域名,程序内核采用TP框架开发,需要联系扣扣:2360248666 /wx:lianweikj
精品域名一口价出售:1y1m.com(350元) ,6b7b.com(400元) , 5k5j.com(380元) , yayj.com(1800元), jiongzhun.com(1000元) , niuzen.com(2800元) , zennei.com(5000元)
需要联系扣扣:2360248666 /wx:lianweikj
简单实用,JavaScript 的 8 个数组遍历方法
追忆似水年华 · 280浏览 · 发布于2020-06-30 +关注

引言

在 JavaScript 中,有一些用于遍历数组的方法。经常的总结并记住它们,可以让我们的工作得心应手。

简单实用,JavaScript 的 8 个数组遍历方法

map

map() 数组的每个元素都会调用回调函数,并将处理结果返回一个新数组。

const numbers = [1, 2, 3, 4]; const foo = number => number + 10; const newNumbers = numbers.map(foo); console.log(`新数组:${newNumbers}`); console.log(`旧数组:${numbers}`); /*  * 新数组:11,12,13,14  * 旧数组:1,2,3,4 */

every

every() 方法使用指定函数检测数组中的所有元素是否满足条件,元素全部满足条件,方法返回 true ,有一个元素不满足条件,方法返回 false 且其余元素不再检测。

const numbers = [1,2,3,4]; const foo = num => num < 5;  if (numbers.every(foo)) {   console.log('数组中所有元素都小于 5'); // is ok } else {   console.log('数组中至少有一个元素大于 5'); }

some

some() 方法使用指定函数检测数组中是否有元素满足条件,有一个元素满足条件,方法返回 true 且剩余的元素不会再执行检测,没有满足条件的元素,方法返回 false 。

const numbers = [1,2,3,4]; const foo = num => num > 3;  if (numbers.some(foo)) {   console.log('数组中至少有一个元素值大于 3'); // is ok  } else {   console.log('数组中没有大于 3 的元素值'); }

filter

filter() 方法通过一个函数,筛选数组中的元素。用符合条件的元素创建一个新数组。

const numbers = [1,2,3,4]; const foo = number => number > 2; const newNumbers = numbers.filter(foo); console.log(`原始数组 [${numbers}] 中,满足 > 2 的元素有 : ${newNumbers}`); // 原始数组 [1,2,3,4] 中,满足 > 2 的元素有 : 3,4

reduce

reduce() 方法接收一个函数累加器,数组中的每个元素 (从左到右) 应用于函数,最终计算出一个最终值。

const numbers = [1, 2, 3, 4]; const sum = (total, num) => total + num; const numbers_sum = numbers.reduce(sum, 0); // 将 0 作为 reduce 的初始值 console.log(`原始数组 '${numbers}' 的元素累加后,最终值是 ${numbers_sum}`); // 原始数组 [1,2,3,4] 的元素累加后,最终值是 10

reduceRight() 和 reduce() 使用方法一样,区别是它从右到左将数组中的每个元素应用于函数。

for

传统的 for 循环遍历数组很常用。

const numbers = [1, 2, 3, 4]; for (let index = 0; index < numbers.length; index++) {   console.log(numbers[index]); // 1 2 3 4 }

forEach

forEach() 将数组的每个元素传入回调函数,且对空数组不会执行回调函数。

const numbers = [1, 2, 3, 4]; numbers.forEach((number, index, numbers) => {   console.log(`下标 ${index} 在数组 ${numbers} 中的值是 ${number}`); }); /*  * 下标 0 在数组 1,2,3,4 中的值是 1  * 下标 1 在数组 1,2,3,4 中的值是 2  * 下标 2 在数组 1,2,3,4 中的值是 3  * 下标 3 在数组 1,2,3,4 中的值是 4 */

while

while 也可以遍历数组,但很少用。

let index = 0; const numbers = [1,2,3,4]; while(index < numbers.length) {   console.log(numbers[index]);   index ++; } // 1 2 3 4

相关推荐

RN开发环境的npm私库本地debug调试

manongba · 698浏览 · 2019-05-09 17:03:46
你不知道的浏览器渲染原理

追忆似水年华 · 1373浏览 · 2019-05-09 22:47:56
基于iview的router常用控制方式

追忆似水年华 · 999浏览 · 2019-06-03 10:39:21
编程小知识之 JavaScript 文件读取

manongba · 717浏览 · 2019-06-10 09:16:16
10个省时间的 PyCharm 技巧 赶快收藏!

· 703浏览 · 2019-06-10 09:32:01
加载中

0评论

评论
分类专栏
小鸟云服务器
扫码进入手机网页