JavaScript-高级篇,JS高级应用-3

89 阅读3分钟

「这是我参与2022首次更文挑战的第7天,活动详情查看:2022首次更文挑战」。

4. 内置对象Array的操作方法

4.1 数组方法forEach遍历数组

//forEach遍历数组

arr.forEach(function(value, index, array) {

       //参数一是:数组元素

       //参数二是:数组元素的索引

       //参数三是:当前的数组

 })

  //相当于数组遍历的 for循环 没有返回值

4.2 数组方法map遍历数组

map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。

map() 方法按照原始数组元素顺序依次处理元素。

注意: map() 不会对空数组进行检测, map() 不会改变原始数组。

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

var newArr = arr.map(function(value, index, array){

    //参数一是:数组元素

    //参数二是:数组元素的索引

    //参数三是:当前的数组

    return value*4;

});

console.log(arr);//[1,2,3,4,5,6,7]

console.log(newArr);//[4,8,12,16,20,24,28]

 

4.3 数组方法filter过滤数组

filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。

var arr = [12, 66, 4, 88, 3, 7];

  var newArr = arr.filter(function(value, index,array) {

    //参数一是:数组元素

     //参数二是:数组元素的索引

     //参数三是:当前的数组

     return value >= 20;

  });

  console.log(newArr);//[66,88] //返回值是一个新数组

 

4.4 数组方法some

some 查找数组中是否有满足条件的元素 ,如果数组中有元素满足条件返回 true,否则返回 false。

var arr = [10, 30, 4];

 var flag = arr.some(function(value,index,array) {

    //参数一是:数组元素

     //参数二是:数组元素的索引

     //参数三是:当前的数组

     return value < 3;

  });

console.log(flag);//false返回值是布尔值,只要查找到满足条件的一个元素就立马终止循环

4.5 数组方法every

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

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

array.every(function(value,index,array))

  • 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

  • 如果所有元素都满足条件,则返回 true。

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

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

 

 

3.4.6 数组方法find****

find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。

find() 方法为数组中的每个元素都调用一次函数执行:

array.find(function(value,index,array){})
  • 当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。

  • 如果没有符合条件的元素返回 undefined

 

3.4.7 数组方法reduce****

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。

array.reduce(function(total,value,index,array){},initialValue)
  • total 必需。初始值, 或者计算结束后的返回值。

  value 必需。当前元素

  index 可选。当前元素的索引

  array可选。当前元素所属的数组对象。

  • initialValue 作为第一次调用 callback函数时的第一个参数的值。 如果没有提供初始值,则将使用数组中的第一个元素。

  • 返回值:最终计算的一个值