JavaScript 之迭代方法
2019-07-14 16:52
1366 查看
前言:关于 JS 中为数组定义的迭代方法,我最开始是在《JavaScript高级程序设计》中学习的,然后。。。我并没有看懂,后来翻阅各个大佬的博客,稍微理解了那么一丢丢。以下就是我的一点见解。
首先,我们需要知道数组中的迭代方法都有哪些,列举出来分别是:every、some、filter、map、forEach、reduce。
其中 every、some、filter、map、forEach 五种方法在传入时函数会接受三种参数,分别是 item(数组中项的值)、index(项的索引)、array(数组自身)。我在下面的案例中都只传入了两个值,原因是。。。用不到(其实是懒得写)
而 reduce 方法则会接受四个参数,分别是 prev(前一个项)、cur(当前项)、index(项的索引)、array(数组对象),函数中返回的任何值都会作为第一个参数传给下一项,函数的迭代是在数组的第二项开始的。
1.every ------- 查询数组中的每一项是否都满足条件
var num = [1,2,3,4,5]; var number = num.every(function(item,index){ return (item > 3); //判断传入的值是否全部都大于3 }) console.log(number); //false 有一个不满足即为false
2.some ------- 查询数组中的每一项哪些满足条件
var num = [1,2,3,4,5]; var number = num.some(function(item,index){ return (item > 3); //判断传入的值哪些项大于3 }) console.log(number); //true 满足一个即可为true
3.filter ------ 筛选符合条件的项,组成新数组
var num = [1,2,3,4,5]; var number = num.filter(function(item,index){ return (item > 3); //判断传入的值哪些项大于3 }) console.log(number); //[4,5]
4.map ------ 数组中的项通过计算,组成新数组
var num = [1,2,3,4,5]; var number = num.map(function(item,index){ return item * 3; //传入的数值都乘以3 }) console.log(number); //[3,6,9,12,15]
5.forEach ------ 传入数组中的每一项
var num = [1,2,3,4,5]; var number = num.forEach(function(item,index){ console.log(item); // 1 2 3 4 5 })
关于 forEach 我再多叨叨几句,这个方法在本质上与 for 循环没有什么区别。上面提到过,每个方法都会传入三个参数,那么我在输出时传入第一项,也就是输出数组中的每一项。如果传入第二项,则是循环迭代数组的 index 下标值,如果传入第三项,则是循环迭代整个 num 数组。
6.reduce ------ 数组的前项和后项进行累计值计算
var num = [1,2,3,4,5]; var number = num.reduce(function(prev,cur,index){ return prev + cur; }) console.log(number); // 1+2+3+4+5 = 15 本质上就是数组中的项 累计运算的过程
相关文章推荐
- javascript ES5中的数组的迭代方法和归并方法
- JavaScript---迭代方法
- JavaScript高级程序设计--对象,数组(栈方法,队列方法,重排序方法,迭代方法)
- javascript中的数组迭代方法
- javascript中数组的迭代方法对比:forEach()、map()、reduce()、some()、every()、filter()图解
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- javascript高级程序设计 第五章引用类型 迭代方法
- JavaScript数组的5种迭代方法
- 深入JavaScript高级程序设计之对象、数组(栈方法,队列方法,重排序方法,迭代方法)
- [Effective JavaScript 笔记]第50条:迭代方法优于循环
- JavaScript之数组五大迭代方法总结
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- 一张图看懂JavaScript中数组的迭代方法
- javascript 数组对象中的迭代方法
- [置顶] JAVASCRIPT中数组的迭代方法:FOREACH、MAP、FILTER、REDUCE、EVERY、SOME各个说明
- javascript数组的一些迭代方法
- javascript Array 迭代方法
- 浅谈javascript 迭代方法
- javaScript数组迭代方法详解
- javascript 学习笔记 【数组迭代方法】