1.删除数组中的第一个元素,并返回该元素得值
arr.shift()
2.删除返回数组中的最后一个元素,并返回该元素得值
arr.pop()
3.删除数组中的元素
//如果该方法只有一个参数,则删除从该位置开始到数组结束的所有项
//返回被删除的元素数组
arr.splice(起始下标,删除多少项)
4.替换元素
arr.splice(起始下标,删除多少项,替换的新元素)
5.数组的合并(插入元素)
在数组末尾增加元素:
//在数组中添加新的元素或者将两个数组的元素连接起来
arr.concat()返回一个新的数组,不改变原来的数组
arr.push()返回数组长度,改变原来数组
在数组的首位添加元素:
arr.unshift()返回数组长度,改变原来数组
6.数组抽取
//如果该方法只有一个参数,则返回从该位置开始到数组结束的所有项
arr.slice(起始下标,结束下标(不包括该下标得值))
7.数组排序(默认按照ASCII字符顺序进行排序)
arr.sort();//升序排列
//sort不稳定,加上以下固定代码
arr.sort(function (a,b) {
if(a>b){
return 1;
}else if(a==b){
return 0;
}else{
return -1;
}
})
8.反转数组
arr.reverse();
9.串联数组
//将数组的内容连接起来,返回字符串
arr.join()//默认用“,”连接
arr.join("*")//以*连接数组得值
10.复制数组
a.浅复制,复制数组的地址,当改变原数组,新复制的数组也会发生改变
newarr=arr;
b.深复制,改变原数组不会改变新的数组得值
for(var i=0;i<arr.length;i++){
newarr1[i]=arr[i];
}
11.判断所有元素是否满足函数的特定条件,返回布尔值
arr.every(函数);
12.满足函数的特定条件的所有元素组成的一个新数组,返回的是这个新数组
arr.filter(函数);
13.循环遍历数组,返回的是这个新数组
arr.forEach(函数);
14.数组中每个元素都要执行函数,执行结果返回给一个新数组
arr.map(()=>(返回值));
函数有三个参数,第一个是元素,第二个是索引值,第三个是原来的数组
es6新增
1.将类似数组的对象转为真正的数组
Array.from(对象)
2.将一组值,转换为数组
Array.of(值,值,...)
3.在当前数组内部,将指定位置的成员复制到其他位置,
arr.copyWithin(target,start,end)
target(必需):从该位置开始替换数据。如果为负值,表示倒数。
start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。
end(可选):到该位置前停止读取数据,默认等于数组长度。如果为负值,表示倒数。
4.对象数组去重
const map = new Map()
data = data.filter( item => !map.has(item) && map.set(item, 1))
data = data.map(item => {
return JSON.parse(item)
})