数组方法(内置对象)

本文介绍了JavaScript中数组方法如forEach、map、filter、some、every和reduce等,它们都使用内置对象如value、index和array,使得处理数组元素更为便捷。特别关注了reduce方法的多种应用场景。
摘要由CSDN通过智能技术生成

JavaScript数组方法中的内置对象

在JavaScript中,数组的许多方法会接收函数作为参数,从而对数组的每个元素进行处理。这些方法在处理时会传入一些内置的对象,以便我们更方便地操作数组元素。

常见的内置对象

  • value:数组元素的值
  • index:数组元素的索引
  • array:数组本身

例如:

const arr = [1, 2, 3];

arr.forEach(function(value, index, array) {
  console.log(value, index, array); 
});

输出:

 

几种常见的数组方法

forEach

forEach方法会遍历数组的每个元素

  let arr = [1, 2, 3, 4, 5];

        arr.forEach((it) => {
        
        });

        console.log(arr);

map

map方法会返回一个新的数组,对原数组的每个元素进行处理后放入新数组。


        let arr = [1, 5, 6, 2, 3];

        let res = arr.map((item) => {
          return item * 2;
        });

        console.log(res);

filter

filter方法过滤数组,返回符合条件的元素组成的新数组。

  let arr = [1,5,0,3];

      // 可以赋值 不规范  filter是做过滤的
      const res = arr.filter((it) => it>1);

      console.log(res);

some & every

some和every会根据判断函数返回一个布尔值。

let arr = [1, 5, 1, 1, 1];
      let res = arr.some((item) => {
        return item >= 2;
      });
      console.log(res);

  let arr = [2, 5, 2, 2, 2];
      let res = arr.every((item) => {
        return item >= 2;
      });
      console.log(res);

 reduce

 reduce()方法用于将数组的元素进行累加、累乘或者根据特定逻辑进行计算。

   let arr = [
        {
          name: "数学",
          score: 99,
        },
        {
          name: "英语",
          score: 97,
        },
        {
          name: "语文",
          score: 96,
        },
      ];
 // 1. 找到语文的成绩 不能直接使用索引
      const res =arr.find(it=>it.name =='语文');
      const score= res?res.score:undefined;
      console.log(score);
      // 2. 计算出总成绩
       const add=arr.reduce((accumulator, it)=>accumulator+it.score,0);
       console.log(add);
      // 3. 计算出平均成绩
      const  averageScore=Math.ceil (add/arr.length);
      console.log(averageScore);
      // 4. 计算出最高分
      let maxScore = arr.reduce((max, it) => Math.max(max, it.score), -Infinity);
      console.log(maxScore);
      // 5. 计算出最低分
    //   let minScore = arr.reduce((min, it) => Math.min(min, it.score), Infinity);
      let minScore =arr.reduce((acc,it)=>acc<it.score ? acc:it.score)
       console.log(minScore)

总结

内置对象为数组方法的回调函数提供了参数,可以更方便地获取值和索引,使代码更加简洁。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值