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

includes

let arr=[1,2,3,4,5];
arr.includes(6);//false