Array.from() 把类数组转换为数组实例
Array.of() 把参数转换为数组实例
Array.keys() 数组索引
Array.values() 数组值
Array.entries() 索引和值
es6新增的
copyWithin() 批量复制
fill() 填充数据方法 ,包含开始不包含结束索引,不会改变数组大小
数组的操作方法
数组可以被当成栈(last in first out 后进先出)来处理,push 和 pop
push() 方法返回新数组的长度,往数组的末尾添加数据项。pop()删除数组最后一项,并返回被删除的项。
数组也可以被当成队列来处理(first in first out 先进先出) 。shift 和 unshift
shift()删除数组的第一项,并返回它。然后数组长度减1. unshift()往数组的开头添加任意多个值,并返回新数组的长度。
splice()方法可以改变原数组。主要用它来在数组中间插入元素,但有3种不同的方式使用它
- 删除 给splice()传2个参数:要删除的第一个元素的位置和要删除的元素数量。可以从数组中删除任意多个元素,比如splice(0,2)会删除前两个元素。
- 插入。 需要给splice()传3个参数:开始位置、0(要删除的元素数量)和要插入的元素,可以在数组中指定的位置插入元素。如:splice(2,0,'red','green')会从数组位置2开始插入字符串‘red'和'green'
- 替换。 splice()在删除元素的同时可以在指定的位置插入新元素,同样要传入3个参数:开始位置、要删除元素的数量和要插入的任意多个元素。要插入的元素不一定要跟删除的元素数量一致。如:splice(2, 1, "red", "green")会在位置2删除一个元素,然后从该位置开始向数组中插入"red"和"green"。
数组的5个迭代方法
- every(): 对数组的每一项都运行传入的函数,如果对每一项函数都返回true,则这个方法返回true.
- filter(): 对数组每一项都运行传入的函数,函数返回true的项会组成数组之后返回。
- forEach(): 对数组每一项都运行传入的函数,没有返回值。
- map(): 对数组每一项都运行传入的函数,返回由每次函数调用的结果构成的数组。
- some(): 对数组每一项都运行传入的函数,如果有一项函数返回true,则这个函数返回true。
注: 这些方法都不改变他们的数组。
every()和some()是最相似的,都是从数组中搜索符合某个条件的元素,对every()来说,传入的函数必须对每一项都返回true,它才会返回true,否则,它就返回false。而对some()来说,只要有一项让传入的函数返回true,它就返回true。例:
let numbers = [1,2,3,4,5,4,3,2,1];
let everyResult = numbers.every((item, index, array)=> item > 2);
console.log(everyResult); // false
let someReult = numbers.some((item, index, array)=> item > 2);
console.log(someReult); // true