js数组常用的22种方法

1. length     返回数组的长度

	  let arr = [7, 5, 4, 2];
	  console.log(arr.length);   //4

 

2. push()    向数组的末尾添加一个或更多元素(包括对象和数组),并返回新的长度。

	  let arr = [7, 5, 4, 2];
	  const len = arr.push(40);
	  console.log(len);       //5
	  console.log(arr);       //[7, 5, 4, 2, 40]

在末尾添加对象或数组时:

	  let arr = [7, 5, 4, 2];
	  let arr2 = [40, 5, 2];
	  const len = arr.push(arr2);
	  console.log(len);       //5
	  console.log(arr);       //[7, 5, 4, 2, Array(3)]

 

3. pop()  删除并返回数组的最后一个元素

    let arr = [7, 5, 4, 2];
    const ret = arr.pop();
    console.log(ret);       //2
    console.log(arr);       //[7, 5, 4]

 

4.  unshift()    向数组的开头添加一个或更多元素,并返回新的长度。

    let arr = [7, 5, 4, 2];
    const ret = arr.unshift(9);
    console.log(ret);       //5
    console.log(arr);       //[9, 7, 5, 4, 2]

 

5. shift()    删除并返回数组的第一个元素

    let arr = [7, 5, 4, 2];
    const ret = arr.shift();
    console.log(ret);       //7
    console.log(arr);       //[5, 4, 2]

 

6.  concat()    连接两个或更多的数组(可以是元素),并返回结果。

    let arr = [7, 5, 4, 2];
    const ret = arr.concat(2);
    console.log(ret);       //[7, 5, 4, 2, 2]
    console.log(arr);       //[7, 5, 4, 2]

concat含有多个参数时:

    let arr = [7, 5, 4, 2];
    let arr1 = [9, 7];
    const ret = arr.concat(2, arr1);
    console.log(ret);       //[7, 5, 4, 2, 2, 9, 7]
    console.log(arr);       //[7, 5, 4, 2]

 

7.  join()    把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。默认是 ,分隔

    let arr = [7, 5, 4, 2];
    const ret = arr.join();
    console.log(ret);       //7,5,4,2     string类型
    console.log(arr);       //[7, 5, 4, 2]

指定分隔符分隔时:

    let arr = [7, 5, 4, 2];
    const ret = arr.join('');
    console.log(ret);       //7542

    const ret = arr.join(' ');
    console.log(ret);       //7 5 4 2

    const ret = arr.join('-');
    console.log(ret);       //7-5-4-2

 

8.  reverse()   颠倒数组中元素的顺序,原数组会改变

    let arr = [7, 5, 4, 2];
    const ret = arr.reverse();
    console.log(ret);       //[2, 4, 5, 7]
    console.log(arr);       //[2, 4, 5, 7]

 

9.  slice(start, end)     可从已有的数组中返回选定的元素。 start指定开始的位置,end指定结束的位置,end可以不用。

    let arr = [7, 5, 4, 2];
    const ret = arr.slice(0, 2);
    console.log(ret);       //[7, 5]
    console.log(arr);       //[7, 5, 4, 2]

    const ret = arr.slice(0);
    console.log(ret);       //[7, 5, 4, 2]
    console.log(arr);       //[7, 5, 4, 2]

    const ret = arr.slice(-2, -1);
    console.log(ret);       //[4]
    console.log(arr);       //[7, 5, 4, 2]

 

10.  splice(index,howmany,item1,.....,itemX)      向/从数组中添加/删除/替换项目,然后返回被删除的项目。  会改变原数组

删除:

    let arr = [7, 5, 4, 2];
    const ret = arr.splice(0, 2);
    console.log(ret);       //[7, 5]
    console.log(arr);       //[4, 2]

添加:

    let arr = [7, 5, 4, 2];
    const ret = arr.splice(2, 0, 99);
    console.log(ret);       //[]
    console.log(arr);       //[7, 5, 99, 4, 2]

替换:

    let arr = [7, 5, 4, 2];
    const ret = arr.splice(2, 1, 99);
    console.log(ret);       //[4]
    console.log(arr);       //[7, 5, 99, 2]

 

11.  toString()    任何对象都具有的方法 把数组转换为字符串描述,并返回结果。

    let arr = [7, 5, 4, 2];
    const ret = arr.toString();
    console.log(ret);       //7,5,4,2   string类型
    console.log(arr);       //[7, 5, 99, 2]

 

12.  valueOf()    返回 Array 对象的原始值。

    let arr = [7, 5, 4, 2];
    const ret = arr.valueOf();
    console.log(ret);       //[7, 5, 4, 2]
    console.log(arr);       //[7, 5, 4, 2]

 

13.    forEach()       调用数组的每个元素,并将元素传递给回调函数,该方法没有返回值。

    let arr = [7, 5, 4, 2];
    arr.forEach((item, index) => {
      console.log(item, index);
    });

 

14.   sort()     对数组的每一项进行排序。 会改变原数组

升序:

    let arr = [7, 5, 4, 2];
    const rst = arr.sort((a, b) => {
      return a - b;
    });
    console.log(arr);    //[2, 4, 5, 7]
    console.log(rst);    //[2, 4, 5, 7]

降序:

    let arr = [7, 5, 4, 2];
    const rst = arr.sort((a, b) => {
      return b - a;
    });
    console.log(arr);    //[7, 5, 4, 2]
    console.log(rst);    //[7, 5, 4, 2]

 

15.    filter()    对数组进行筛选,并且返回新的数组。不会改变原数组。

    let arr = [7, 5, 4, 2];
    const rst = arr.filter((item, index) => {
      return item > 4;
    });
    console.log(arr);    //[7, 5, 4, 2]
    console.log(rst);    //[7, 5]
    let arr = [7, 5, 4, 2];
    const rst = arr.filter((item, index) => {
      return index > 2;
    });
    console.log(arr);    //[7, 5, 4, 2]
    console.log(rst);    //[2]

 

16.    indexOf()     从前往后搜索,返回给定参数的索引值,没有就返回-1

    let arr = [7, 5, 4, 2];
    const rst1 = arr.indexOf(1);
    const rst2 = arr.indexOf(5);
    console.log(rst1);    //-1
    console.log(rst2);    //1

 

17.   lastIndexOf()    从后往前搜索, 返回给定参数的索引值, 没有就返回-1

    let arr = [7, 5, 4, 5, 2];
    const rst1 = arr.lastIndexOf(1);
    const rst2 = arr.lastIndexOf(5);
    console.log(rst1);    //-1
    console.log(rst2);    //3

 

18.   some()     判断数组中是否至少有一项满足条件,有就返回true,都不满足就返回false。不会改变原数组。

    let arr = [7, 5, 4, 5, 2];
    const rst1 = arr.some((item, index) => {
      return item > 10;
    });
    const rst2 = arr.some((item, index) => {
      return item > 5;
    });
    console.log(rst1);    //false
    console.log(rst2);    //true
    console.log(arr);     //[7, 5, 4, 5, 2]

 

19.   every()    数组每一项都满足条件就返回true,有一项不满足就返回false。不会改变原数组。

    let arr = [7, 5, 4, 5, 2];
    const rst1 = arr.every((item, index) => {
      return item > 10;
    });
    const rst2 = arr.every((item, index) => {
      return item > 1;
    });
    console.log(rst1);    //false
    console.log(rst2);    //true
    console.log(arr);     //[7, 5, 4, 5, 2]

 

20.   map()    返回原数组经过函数处理后形成的一个新的数组。

    let arr = [7, 5, 4, 5, 2];
    const rst1 = arr.map((item, index) => {
      return item += 1;
    });
    console.log(rst1);    //[8, 6, 5, 6, 3]
    console.log(arr);     //[7, 5, 4, 5, 2]

 

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

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
//initialValue是total的初始值
// currentIndex, arr这两个参数可选

对数组每一项进行累加:

    let arr = [7, 5, 4, 5, 2];
    const rst1 = arr.reduce((total, item) => {
      return total += item;
    }, 0);
    console.log(rst1);    //23
    console.log(arr);     //[7, 5, 4, 5, 2]

 

22.    reduceRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加。

 

注意:以下7种方法会改变原数组。

    //push  pop   unshift  shift   splice  reverse   sort   7种 

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值