1.栈方法(先进后出) 修改原数组
push(item...item) 在数组末尾添加元素
pop 删除数组末尾元素
var arr=[];
arr.push(20);
arr.push(30);
console.log(arr);//输出 20 30
arr.pop();
console.log(arr);//输出 20
2.队列方法(先进先出)
push() 在数组末尾追加元素 修改原数组
shift() 删除数组第一个元素
var arr=[];
arr.push(100);
arr.push(90);
console.log(arr);//输出 100 90
arr.shift();
console.log(arr);//输出 90
3.数组操作方法
concat(arr...) 数组合并 返回新数组
var arr=['hello','haha'];
var arr0=arr.concat(arr);
console.log(arr0);//输出 ['hello','haha','hello','haha']
unshift(item...) 在数组头部插入元素 修改原数组
var arr=[1,10,'hello'];
arr.unshift('haha');
console.log(arr);//输出['haha',1,10,'hello'];
slice(start,end) 截取数组[start,end) 未修改原数组
var arr=['haha','hehe','1','6'];
var arr0=arr.slice(0,2);
console.log(arr0);//输出 ['haha','hehe']
splice splice(index,howmany) 删除数组元素 index 索引 howmany 个数
splice(index,howmany,item...) 先删除,再添加
//删除数组元素
var arr=[1,2,3,4,5];
var arr0=arr.splice(1,2);
console.log(arr0);//输出 2 3
console.log(arr);//输出 1 4 5
//先删除再添加
var arr0=arr.splice(1,2,6);
console.log(arr0);//输出 2 3
console.log(arr);//输出 1 6 4 5
4.排序方法
sort() 排序(默认用ASSI码排序从小到大)
//升序
arr.sort(function(a,b){
if(a>b){
return 1;
}else if(a<b){
return -1;
}
return 0;
});
//降序
arr.sort(function(a,b){
if(a>b){
return -1;
}else if(a<b){
return 1;
}
return 0;
})
reverse() 倒序
var arr=[1,2,3,4,5];
arr.reverse();
console.log(arr);//输出 5 4 3 2 1
5.其它方法
join(sp) 使用指定字符将数组元素拼接为字符串
var arr=['how','are','you'];
arr.join('*');
console.log(arr);//输出 how*are*you
6.新方法
forEach 遍历 不影响数组本身
fn函数有三个参数:item 数组元素 index 数组索引 arr 数组本身
var arr=[1,2,3,4,5];
arr.foeEach(function(item,index,arr){
console.log(item);//输出 1 2 3 4 5
});
indexOf 查找元素在数组中的位置 找不到为 -1 找到是索引
var arr=[1,2,3];
var a=arr.indexOf('2');
console.log(a);//输出 -1
lastIndexOf 从后向前查找数组中是否包含元素 找不到 -1 找到是索引
var arr=[1,2,3,2];
var a=arr.lastIndexOf(2);
console.log(a);//输出 3
some(fn) fn有三个参数 判断数组中是否有满足规则的(有一个即可)
every(fn) fn有三个参数 判断数组中是否均满足规则的
var arr=[19,20,1,18,25];
//判断数组中是否有满足规则的(有一个即可)
var re1=arr.some(function(item,index,arr){
return item>20;
});
console.log(re1);//true
//判断数组中是否均满足规则的
var re2=arr.every(function(item,index,arr){
return>2;
});
console.log(re2);//false