js Array数组常用api

 

  • unshift()

    • 添加指定元素到数组的开头,并返回数组新的长度。
    • 参数
      • 添加的元素。
    • 返回值
      • 添加元素后新的数组长度

shift()

  • 删除当前数组的第一个元素,并返回删除的元素。

  • 参数

  • 返回值

    • 被删除的元素。

push()

  • 将指定元素添加到当前数组的末尾,并返回新的长度。

  • 参数

    • 要添加的元素
  • 返回值

    • 添加后数组新的长度。

pop()

  • 删除当前数组的最后一个元素,并返回删除的元素。

  • 参数

  • 返回值

    • 被删除的元素。

 

indexOf()

  • 在当前数组中查询指定元素,并返回其从左到右第一次出现的索引。

  • 参数

    • 查找的目标元素。
  • 返回值

    • 目标元素在当前数组中从左到右第一次出现的索引,如果该元素不存在于当前数组,则返回-1。

 

  • lastIndexOf()

    • 在当前数组中查询指定元素,并返回其从右到左第一次出现的索引。

    • 参数

      • 查找的目标元素。
    • 返回值

      • 目标元素在当前数组中从右到左第一次出现的索引,如果该元素不存在于当前数组,则返回-1。
  • splice()

    • 从当前数组中添加指定元素或删除指定元素。

    • 参数

      • 添加或删除的开始索引。
      • 删除的元素个数。
      • 要添加的一个或多个元素。
    • 案例

      • 删除指定元素

      • //删除当前数组索引1的开始的2个元素
        arr.splice(1,2);

      • 添加指定元素

      • var obj={
        account:'wangwu',
        password:'ww123',
        chinese:111,
        math:120,
        english:59
        };
        var obj2={
        account:'zhaoliu',
        password:'zl123',
        chinese:119,
        math:122,
        english:33
        };
        //在索引1位置添加obj和obj2
        arr.splice(1,0,obj,obj2);

      • 删除并添加元素

      • var obj={
        account:'wangwu',
        password:'ww123',
        chinese:111,
        math:120,
        english:59
        };
        var obj2={
        account:'zhaoliu',
        password:'zl123',
        chinese:119,
        math:122,
        english:33
        };
        //删除索引1开始的1个元素,并添加obj和obj2元素索引从1开始
        arr.splice(1,1,obj,obj2);

  • join()

    • 将数组中所有元素连接为一个字符串。

    • 参数

      • 连接字符串的分隔符,可省,默认为逗号。
    • 返回值

      • 连接后的字符串内容。
      • var arr1=[1,2,3,4,5,6];
        var str=arr1.join('*');

  • reverse()

    • 翻转数组中元素顺序(倒序)。

    • 参数

    • 返回值

      • 返回当前数组。
  • concat()

    • 连接一个或多个数组,并返回新数组。

    • 参数

      • 要连接的一个或多个数组。
    • 返回值

      • 连接后的新数组
      • var arr2=[
        {
        account:'wangwu',
        password:'ww123',
        chinese:111,
        math:120,
        english:59
        },
        {
        account:'zhaoliu',
        password:'zl123',
        chinese:119,
        math:122,
        english:33
        }
        ];
        var arr3=[
        {
        account:'tianqi',
        password:'ww123',
        chinese:111,
        math:120,
        english:59
        },
        {
        account:'wangba',
        password:'zl123',
        chinese:119,
        math:122,
        english:33
        }
        ];
        var newArray=arr.concat(arr2,arr3);

  • slice()

    • 选择当前数组中一部分元素,并返回存储选中元素的新数组。

    • 参数

      • 开始索引。
      • 结束索引。
    • 返回值

      • 存储选中元素的新数组。
      • 
        //选择数组一部分元素 [1,3)
        var newArray=arr.slice(1,3);
         
  • forEach()

    • 对每个当前数组元素执行指定函数。

    • 参数

      • 每个元素要执行的回调函数。
        • 回调函数的参数
          • 第一个参数(必须):循环遍历的当前元素。
          • 第二个参数(可选):循环遍历的当前元素的索引。
          • 第三个参数(可选):循环遍历的目标数组。
    • 返回值

  • filter

    • 过滤(筛选)数组中的元素,会对每个数组元素执行指定回调函数,将回调函数返回值为true的当前元素添加到新数组中,循环完毕后,返回该新数组。

    • 参数

      • 每个元素要执行的回调函数。
        • 回调函数的参数
          • 第一个参数(必须):循环遍历的当前元素。
          • 第二个参数(可选):循环遍历的当前元素的索引。
          • 第三个参数(可选):循环遍历的目标数组。
    • 返回值

      • 存储了回调函数返回结果为true的元素的数组。
      • var re=arr.filter(function(val){
        if(val.account=='zhangsan'){
        return true;
        }
        });
        console.log(re);

  • map()

    • ES6新增

    • 对当前数组中每个元素调用指定回调函数,将回调函数的返回值存储到新数组中,循环完毕后,将新数组作为返回值返回。

    • 参数

      • 每个元素要执行的回调函数。
        • 回调函数的参数
          • 第一个参数(必须):循环遍历的当前元素。
          • 第二个参数(可选):循环遍历的当前元素的索引。
          • 第三个参数(可选):循环遍历的目标数组。
    • 返回值

      • 存储了回调函数返回结果的数组。
      • var re=arr.map(function(val){
        return val.chinese+val.math+val.english;
        });
        console.log(re);

  • sort()

    • 实现数组中元素排序,对当前数组中每个元素调用指定回调函数,根据回调函数的返回值是否大于0来决定元素的顺序。

    • 参数

      • 每个元素要执行的回调函数。
        • 回调函数的参数
          • 第一个参数:要参加排序的第一个元素。
          • 第二个参数:要参加排序的第二个元素。
        • 排序规则
          • 返回值大于0,将第一个参数放在第二个参数的后面
          • 返回值小于0,将第一个参数放在第二个参数的前面
    • 返回值

      • 返回排序后的当前数组。
      • //升序
        var re=arr.sort(function(a,b){
        return a.id-b.id;
        });
        console.log(re,arr);
        //降序
        re=arr.sort(function(a,b){
        return b.id-a.id;
        });
        console.log(re,arr);

  • some()

    • 检查数组中任意一个元素是否通过测试。对当前数组中每个元素调用指定回调函数,有任意一个元素的回调函数返回值为true,则循环结束时,返回结果为true。

    • 参数

      • 每个元素要执行的回调函数。
        • 回调函数的参数
          • 第一个参数(必须):循环遍历的当前元素。
          • 第二个参数(可选):循环遍历的当前元素的索引。
          • 第三个参数(可选):循环遍历的目标数组。
    • 返回值

      • 布尔值,如果有任意一个回调函数返回true,则some返回true,如果所有的回调函数都返回false,则some返回false。
      • var re=arr.some(function(val){
        return val.account=='zhangsan';
        });
        console.log(re);

  • every()

    • 检查数组中所有元素是否都通过测试。对当前数组中每个元素调用指定回调函数,所有元素的回调函数返回值为true,则循环结束时,返回结果为true。

    • 参数

      • 每个元素要执行的回调函数。
        • 回调函数的参数
          • 第一个参数(必须):循环遍历的当前元素。
          • 第二个参数(可选):循环遍历的当前元素的索引。
          • 第三个参数(可选):循环遍历的目标数组。
    • 返回值

      • 布尔值,如果所有回调函数返回true,则every返回true,如果有任意一个回调函数都返回false,则every返回false。
      • var re=arr.every(function(val){
        return val.chinese>=90;
        });
        console.log(re);

  • reduce()

    • 将数组中的值减为单个值(将数组中的所有元素合为一个数据)。对当前数组的每个元素执行指定回调函数,将每次回调函数的返回值,作为下一次回调函数的参数传入,循环结束值,将最后一次回调函数的返回值作为reduce的返回值。

    • 参数

      • 回调函数
        • 回调函数参数
          • 第一个参数:reduce第二个实参值或上一次回调函数的返回值。
          • 第二个参数(必须):循环遍历的当前元素。
          • 第三个参数(可选):循环遍历的当前元素的索引。
          • 第四个参数(可选):循环遍历的目标数组。
      • 第一次回调函数的第一个参数实参(初始值)
      • //计算所有学生的语文总成绩
        var re=arr.reduce(function(param,val,index,arr){//param 0 99 210
        console.log(val,index,arr);
        return param+val.chinese;
        },0);
        console.log(re);

  • includes()

    • ES7新增

    • 检查数组中是否包含指定元素。

    • 参数

      • 第一个参数(必须):要查找的元素。
      • 第二个参数(可选):开始索引,默认为0。
    • 返回值

      • 布尔,如果存在,返回true,否则,返回false。
      • var arr1=[1,2,3,7,4,5,6];
        var re=arr1.includes(7);
        console.log(re);
        
        re=arr1.includes(7,4);
        console.log(re);

 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值