数组的API是常用的知识点,同时有些面试题也会考比如这个api会不会改变原数组;当然了,我们说这些东西都是js自带的,并不一定适合你的项目,你完全可以自己写一个api覆盖掉它;
改变原数组的:
- shift:将第一个元素删除并且返回删除元素,空即为undefined
- unshift:向数组开头添加元素,并返回新的长度
- pop:删除最后一个并返回删除的元素
- push:向数组末尾添加元素,并返回新的长度
- push:向数组末尾添加元素,并返回新的长度
- reverse:颠倒数组顺序
- sort:对数组排序
- splice:splice(start,length,item)删,增,替换数组元素,返回被删除数组,无删除则不返回
不改变原数组的:
- concat:连接多个数组,返回新的数组
var arr = [1, 2, 3];
var newArr=['a','b','c']
console.log(arr.concat(newArr));
//[1, 2, 3, "a", "b", "c"]
- join:将数组中所有元素以参数作为分隔符放入一个字符
var arr = [1, 2, 3];
console.log(arr.join('*'));
//1*2*3
3.slice:slice(start,end),返回选定元素(左闭右开区间)
var arr = [1, 2, 3];
console.log(arr.slice(0,2));
//[1,2]
4.filter:建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素
var arr = [1, 2, 3];
var sum= arr.filter(function(a,b,c){
return a>1
})
console.log(sum);
//[2,3]
5.map(): 通过指定函数处理数组的每个元素,并返回处理后的数组。
var arr = [1, 2, 3];
var sum= arr.map(function(a,b){
return a*2
})
console.log(sum);
//[2,4,6]
- some,every等不改变原数组