JS数组常用API

一、不改变原数组

1、将数组转化为字符串(String)

  var arr = [1, 2, 3];
  var str = String(arr);
  console.log(str); //1,2,3
  console.log(arr); //[1,2,3]

 2、把数组中的所有元素放入一个字符串(join)

  var arr = [1, 2, 3];
  var str = arr.join(); //默认是逗号,也可以自定义连接符
  console.log(str); //1,2,3
  console.log(arr); //[1,2,3]

3、数组拼接(concat)

  var arr = [1, 2, 3];
  var newArr = arr.concat(4, [5, 6]);
  console.log(newArr); //[1,2,3,4,5,6]
  console.log(arr); //[1,2,3]

4、数组选取,获取子数组(slice 含头不含尾)

  var arr = [1, 2, 3];
  var newArr = arr.slice(0, 2); //从下标0开始,截取两个
  console.log(newArr); //[1,2]
  console.log(arr); //[1,2,3]

 5、返回某个指定的字符串值在字符串中首次出现的位置(indexOf)

  var arr = [1, 3, 2];
  var num = arr.indexOf(3);
  console.log(num); //1
  console.log(arr); //[1,3,2]

 6、length---获取数组长度

var arr = [1, 2, 3]
console.log(arr.length) //结果为3

二、改变原数组

1、从数组中添加/删除项目,然后返回被删除的项目(splice(i,n)从第i个开始的n个元素)

  var arr = [1, 2, 3];
  var newArr1 = arr.splice(0, 2); //从下标0开始,截取到下标2(不包括下标2)
  var newArr2 = arr.splice(0, 2, 4, 5);
  console.log(newArr1); //[1,2]
  console.log(newArr2); //[]
  console.log(arr); //[4,5,3]

2、反转数组元素(reverse)

  var arr = [1, 3, 2];
  var newArr = arr.reverse();
  console.log(newArr); //[2,3,1]
  console.log(arr); //[2,3,1]

3、对数组的元素进行排序(sort)

  var arr = [1, 3, 2];
  var newArr = arr.sort((a, b) => a - b); //a-b升序  b-a降序
  console.log(newArr); //[1,2,3]
  console.log(arr); //[1,2,3]

4、向数组的末尾添加一个或多个元素,并返回新的长度(push)

  var arr = [1, 3, 2];
  var newArr = arr.push(4);
  console.log(newArr); //4
  console.log(arr); //[1,3,2,4]

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

  var arr = [1, 3, 2];
  var newArr = arr.pop();
  console.log(newArr); //2
  console.log(arr); //[1,3]

6、用于把数组的第一个元素从其中删除,并返回第一个元素的值(shift)

  var arr = [1, 3, 2];
  var newArr = arr.shift();
  console.log(newArr); //1
  console.log(arr); //[3,2]

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

  var arr = [1, 3, 2];
  var newArr = arr.unshift(4);
  console.log(newArr); //4
  console.log(arr); //[4,1,3,2]

三、数组遍历方法

 1、every():对数组中的每一项运行给定的函数,如果该函数对每一项都返回true,则返回true。

 2、some():对数组中的每一项运行给定的函数,如果该函数对任一项返回true,则返回true。

 3、filter():对数组中的每一项运行给定的函数,返回该函数会返回true的项组成的数组。

 4、 map():对数组中的每一项运行给定的函数,返回每次函数调用的结果组成的数组。

 5、 forEach():对数组中的每一项运行给定的函数。这个方法没有返回值。

  var numbers = [1, 2, 3, 4, 5, 4, 3, 1];
  var everyResult = numbers.every(function (item, index, array) {
    return item > 2;
  });
  console.log(everyResult); //false

  var someResult = numbers.some(function (item, index, array) {
    return item > 2;
  });
  console.log(someResult); //true

  var filterResult = numbers.filter(function (item, index, array) {
    return item > 2;
  });
  console.log(filterResult); //[3,4,5,4,3]

  var mapResult = numbers.map(function (item, index, array) {
    return item * 2;
  });
  console.log(mapResult); //[2,4,6,8,10,8,6,2]

  var sum = 0;
  var forEachResult = numbers.forEach(function (item, index, array) {
    array[index] == item; //true
    sum += item;
  });
  console.log(sum); //23

四、归并方法

  1、reduce():从数组中的第一项开始,逐个遍历到最后。

  2、reduceRight():从数组的最后一项开始,向前遍历到第一项。

  var arr = [1, 2, 3, 4, 5];
  var sumReduce = arr.reduce(function (prev, cur, index, array) {
    return prev + cur;
  });
  console.log(sumReduce); //15

  var sumReduceRight = arr.reduceRight(function (prev, cur, index, array) {
    return prev + cur;
  });
  console.log(sumReduceRight); //15

reduce() 方法对数组中的每个元素按序执行一个由您提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。

第一次执行回调函数时,不存在“上一次的计算结果”。如果需要回调函数从数组索引为 0 的元素开始执行,则需要传递初始值。否则,数组索引为 0 的元素将被作为初始值(reducer 的第二个参数),迭代器将从第二个元素开始执行(索引为 1 而不是 0)

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值