美文网首页
数组的迭代方法

数组的迭代方法

作者: h5溧水大表哥 | 来源:发表于2019-07-09 01:22 被阅读0次

ES5为数组定义了5个迭代的方法。每个方法都接收两个参数:
1)要在每一项上运行的函数
2)运行该函数的作用域对象--影响this的值(可选)。
运行的函数会接受三个参数:1)数组项的值 2)该项在数组中的位置 3)数组对象本身。
1、.every()
对数组的每一项运行给定函数,如果该函数对每一项都返回true,则返回true。类似于逻辑与,所有都满足的条件的情况下返回true:

var arr = [1,5,9,7,25,16,30]
    var result = arr.every(function(item,index,array){
    return item > 0
})
console.log(result)
image.png

这里的条件时数组中的内容大于0,原数组中的所有内容都大于0,所以这里返回的是true;
只要有一项不满足条件则输出false:

var arr = [1,5,9,7,25,16,30]
    var result = arr.every(function(item,index,array){
    return item > 5
})
console.log(result)

这里条件时大于5,此数组中有小于5的项,所以返回false:


image.png

2、.some()
对数组的每一项运行给定函数,如果该函数对任一项返回true,则返回true。正好和every相反,与逻辑或的方法相近,数组中有满足条件的内容时返回true:

var arr = [1,5,9,7,25,16,30]
    var result = arr.some(function(item,index,array){
    return item > 5
})
console.log(result)

这里条件时内容大于5,原数组中存在大于5的项,所以输出true:


image.png

当全都不满足条件时输出false:

var arr = [1,5,9,7,25,16,30]
    var result = arr.some(function(item,index,array){
    return item < 0;
})
 console.log(result)

这里的条件是小于0,原数组中所有项都不小于0,所以输出false


image.png

3、.filter()
对数组的每一项运行给定函数,返回该函数会返回true的项组成的数组。
挑选出符合条件的项,并组成新的数组:

var arr = [1,5,9,7,40,25,16,30]
    var result = arr.filter(function(item,index,array){
    return item > 29;
})
console.log(result)

这里的条件时大于29,原数组里只有“40”和“30”大于29(满足所给定的条件),所以返回这两项内容组成的新数组:


image.png

4、.map()
对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组。

var arr = [1,5,9,7,40,25,16,30]
    var result = arr.map(function(item,index,array){
    return item * 2;
})

这里给的条件是乘以二,将原数组中的每一项拿出来做乘以2的运算,并且返回运算后的新数组(不改变原数组)
console.log(result)


image.png

5、.forEach()
对数组的每一项运行给定函数。该方法没有返回值。

var arr = [1,5,9,7,40,25,16,30]
    var result = arr.forEach(function(item,index,array){
    return item * 2;
})
    console.log(result)

这里也是给原数组的每一项做*2的运算
和map一样,只不过map可以返回运算后的新数组,.forEach()没有返回值,如果一定要返回,则只有一个返回值:undefined:


image.png

虽然没有返回值,但是它可以打印和运算:

var arr = [1,5,9,7,40,25,16,30]
    var result = arr.forEach(function(item,index,array){
    console.log (item * 2);
})

这里原数组内的各项做了乘以2的运算并且能够打印,结果:

image.png

小编能力有限,存在不足或不全,请大家指出,共同学习与交流。

相关文章

  • js 数组迭代和元素增删改查

    一、数组的迭代方法 常用的数组迭代方法:every,some,filter,map,foreach 1.every...

  • js高级程序设计笔记9

    数组方法 数组迭代方法 every() filter() forEach() map() some() 数组归并方法

  • Javascript 数组迭代与归并方法

    一,数组迭代方法 数组迭代方法分别接受三个参数:数组项的值(item),该项在数组中的位置(index),和数组本...

  • 数组(Array)<迭代器>

    一、Js数组迭代器方法 主要介绍js数组中的forEach,every,some,filter,map迭代器方法 ...

  • JS数组的迭代方法

    数组的迭代方法:ES5中为数组定义了五种迭代方法:传入方法中的函数会接受三个参数:1.数组项的值 2. 该项在数组...

  • JS基础篇-Array

    一、迭代方法 ES5为数组定义了5个迭代方法,这些方法大大方便了处理数组的任务: 1、every 对数组每一项进行...

  • 数组方法

    构建数组 检测数组 栈方法 队列方法 重排序方法 操作方法 位置方法 迭代方法 递归方法

  • 第三章 Caché JSON 迭代数组

    第三章 Caché JSON 迭代数组 动态实体使用标准的迭代方法%GetNext(),该方法同时处理对象和数组。...

  • JavaScript Array中高阶函数的使用

    迭代方法 ECMAScript 5 为数组定义了 5 个迭代方法,每个方法都接受2个参数:要在数组每一项运行的函数...

  • JS数组的几种迭代方法和归并方法

    一、数组的迭代方法, 每一个迭代方法的参数都是一个函数,该函数有三个参数:数组项的值,该项在数组中的位置,数组对象...

网友评论

      本文标题:数组的迭代方法

      本文链接:https://www.haomeiwen.com/subject/mdwzhctx.html