javascript 对数组进行处理比较好用的方法

  • Post author:
  • Post category:java



1. reduce


语法

:array.reduce(function(total, currentValue, currentIndex, arr){})


参数

:total

初始值

, 或者计算结束后的返回值(上一轮循环的return值)


currentValue

当前元素


currentIndex

当前元素索引


arr 当前元素的所属数组


例子

var numbers = [1,2,3,4,5,6];

function addNum(prev, cur) {
    return prev + cur;
}
function sum(item) {
    console.log(numbers.reduce(addNum))
}


2. some

用于判断数组中的是否含有满足条件的元素,返回一个布尔值

依次执行数组的每个元素:

  • 如果有一个元素满足条件,则表达式返回

    true

    , 剩余的元素不会再执行检测。
  • 如果没有满足条件的元素,则返回false。


注意:

some() 不会对空数组进行检测。


注意:

some() 不会改变原始数组。


语法

:array.some(function(currentValue,index,arr){})


参数



currentValue

当前元素

index


当前元素索引


arr 当前元素的所属数组


例子

var ages = [18,19,20,21]
function checkAdult(age) {
    return age >= 18
}

function myFunction() {
    console.log( ages.some(checkAdult)); // true
}


3. every

用于判断数组中元素是否全部满足条件,返回一个布尔值

every() 方法使用指定函数检测数组中的所有元素:

  • 如果数组中检测到有一个元素不满足,则整个表达式返回

    false

    ,且剩余的元素不会再进行检测。
  • 如果所有元素都满足条件,则返回 true。


注意:

every() 不会对空数组进行检测。


注意:

every() 不会改变原始数组。


语法

:array.every(function(currentValue,index,arr){})


参数



currentValue

当前元素

index


当前元素索引


arr 当前元素的所属数组


例子

var ages = [32, 33, 12, 40];

function checkAdult(age) {
    return age >= 18
}

function myFunction() {
    console.log(ages.every(checkAdult)) // false
}


4. filter

用于筛选数组中满足条件的元素,返回一个筛选后的新数组。


5. map

用于遍历数组,返回处理之后的新数组,可以看到,该方法与forEach()的功能类似,只不过map()具有返回值,会返回一个新的数组,这样处理数组后也不会影响到原有数组


6. forEach

用于遍历数组,无返回值(也是与map的区别)



版权声明:本文为qq_41046662原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。