区别:
1.操作数组的方法中,分为变异方法和非变异方法。
2.其中,变异方法意味着会改变原数组,而非变异方法则只会返回一个新数组,不会修改原始数组
数组变异方法:
- push() //数组尾部追加一个元素
- pop() //数组尾部弹出一个元素
- shift() //数组头部弹出一个元素
- unshift() //数组头部插入一个元素
- splice() //删除或替换某一个元素
- sort() //按照特定的规则排序(数字根据从小到大排序,字符串根据unicode位点排序)
- reverse() //反转数组
数组非变异方法:
- filter() //过滤数组中某些元素,返回符合条件的元素组成的新数组
- concat() //合并两个或两个以上的数组,可以链式调用,返回合并后的数组
- slice() //切割数组中某一段元素,返回一个切割出来的数组
- map() //使用map方法会产生一个新的数组,数组的每一项就是我们return出去的值(所以map方法必须有返回值,如果没有return,那么新数组的每一项都为undefined),数组的个数与原数组一样
- some() //会遍历数组中的每个元素,让每个值都执行一遍callback函数,如果有一个元素满足条件,返回true , 剩余的元素不会再执行检测。如果没有满足条件的元素,则返回false。
- forEach() //遍历数组
- every() //检测数组所有元素是否满足条件