javascript数组方法详解

本文详细介绍了JavaScript中常用的数组方法,如join、reverse、sort、concat、slice、forEach、map、filter、every、some、reduce、reduceRight以及indexOf和lastIndexOf。通过实例演示了每个方法的使用方式和功能,帮助理解如何在实际编程中灵活运用这些方法进行数组操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 // 数组方法
      var a = [1, 2, 3, 4, 5];
      console.log(a.join()); //1,2,3,4,5
      console.log(a.join("")); //12345
      var a = new Array(10);
      console.log(a.join("-")); //--------- 九个-

      var a = [1, 2, 3, 4, 5];
      console.log(a.reverse()); //[5,4,3,2,1]

      var a = [12, 21321, 3, 44, 5];
      console.log(a.sort((a, b) => a - b)); //按照大小排序
      console.log(a.sort()); //按照首位排序

      console.log(a.concat(0, [4, 5, [4]])); //[12,21321,3,44,5,0,4,5,[4]]

      var a = [12, 21321, 3, 44, 5];
      console.log(a.slice(0, 2)); //[12,21321]
      console.log(a.slice(2)); //[3,44,5]
      console.log(a.slice(1, -1)); //[21321,3,44]
      console.log(a.slice(-3, -1)); //[3,44]

      // es5的数组方法
      var a = [1, 2, 4, 2, 4, 5, 6];
      a.forEach((element) => {
        console.log(element);
      });
      var b = a.map((e) => {
        return e * e;
      });
      console.log(b); //[1, 4, 16, 4, 16, 25, 36]
      // map与foreach的区别是map有返回值 返回新的数组

      var b = a.filter((e) => e > 3);
      console.log(b); // [4, 4, 5, 6]
      //filter是过滤方法 根据返回值真假过滤

      var b = a.every((e) => e > 3);
      console.log(b); // false
      //every判定数组是否全部满足判断条件 否则返回false

      var b = a.some((e) => e > 3);
      console.log(b); // true
      //some判定数组是否含有一个满足判断条件 否则返回false

      console.log(a.reduce((x, y) => x + y, 0)); //累加
      console.log(a.reduce((x, y) => x * y, 1)); //累乘
      console.log(a.reduce((x, y) => (x > y ? x : y))); //取得最大值
      //reduce方法是将数组用函数操作为一个值 第一个参数是函数
      //第二个参数是第一次操作时候的初始值 如果为空 一开始便是第一个值与第二个值运算 上述累加累乘例子第二参数可以为空

      console.log(a.reduceRight((x, y) => x + y, 0)); //从后累加
      //reduceRight与reduce差不多 区别是操作是从后往前

      console.log(a.indexOf(1)); //0
      console.log(a.indexOf(2,2)); //3
      //indexOf 如果没有第二个参数是返回参数第一次在数组中出现的索引 如果没有 返回-1
      //如果有第二个参数 是从第二个参数的索引开始(包括)返回参数第一次在数组中出现的索引 如果没有 返回-1

      console.log(a.lastIndexOf(4)); //4
      console.log(a.lastIndexOf(2,2)); //1
      //lastIndexOf 如果没有第二个参数是 从最后寻找 返回参数第一次在数组中出现的索引 如果没有 返回-1
      //如果有第二个参数 是从第二个参数的索引开始(包括)往后寻找 返回参数第一次在数组中出现的索引 如果没有 返回-1
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值