push
-
作用:添加内容
-
参数:追加的内容(可是多个)
-
返回值:新增后数组的长度<!-- more -->
-
原改变
pop
-
作用:删除最后项
-
参数:无
-
返回:被删除内容
-
原改变
shift
-
作用:删除第一项
-
参数:无
-
返回:被删除内容
-
原改变
unshift
-
作用:开始位置添加内容
-
参数:要新增的内容
-
返回:新增后数组的长度
-
原改变
splice
-
删除 ary.splice(n,m) n开始删除m个
-
新增 ary.splice(n,0,x) 把x插入到n之前
-
修改 ary.splice(n,m,x) n开始删除m个,用x代替删除的
slice
-
作用:查找
-
参数:slice(n,m) 从n找到m,不包含m
-
返回:查找的内容
-
原不变
concat
-
作用:拼接
-
参数:数组或值
-
返回:新数组
-
原不变
toString
join
-
作用:设置连接符再输出
-
参数:连接符
-
返回:字符串
-
原不变
reverse
-
作用:倒序
-
参数:无
-
返回:新数组
-
原改变
sort
-
作用:排序
-
参数:无/函数
-
返回:新数组
-
原改变
indexOf / lastIndexOf
-
作用:检测值的索引
-
参数:值
-
返回:索引
-
原不变
forEach遍历
可以用第二个参数改变第一个参数中的this
let ary=[12,23,34];
ary.forEach((item,index)=>{
map映射
let arr = [1, 2, 3, 4, 5];
let doubled = arr.map(num => {
return num * 2;//把值放到新数组中
});
filter过滤
let ary = [12, 23, 34, 25, 36, 47];
ary = ary.filter((item, index) => {
return item > 20 && item < 40;//=>返回的结果是TRUE或者FALSE,会把遍历后符合条件的放到新数组中
});
find寻找
[12,23,34].find(item=>item>12);//23
some
遍历数组,回调函数中只要有一个返回值是true,some的返回值就是true,反之为false
let ary=[1,2,3,'a'];
console.log(ary.some((item, index) => {
return typeof item === 'string';
}));//ture
every
遍历数组,当且仅当回调函数返回值都是true,every的返回值就是true,反之为false
let ary=[1,2,3,'a'];
console.log(ary.every((item, index) => {
return typeof item === 'string';
}));//false
reduce
每一次遍历都是数组的前后两项
let ary = [1, 2, 3];
ary.reduce(function(prev,item){
console.log(prev, item);
return item;//把返回值传递给下一次遍历的prev
},1000/* 定义初始的prev,这个参数不写默认prev是第一项 */);
//1000 1
//1 2
//2 3
let arr=[1,2,3,4,5];
arr.includes(6);//false