改变原数组的方法(9个)
ES5语法:
pop(); // 删除一个数组中的最后一个元素,并且返回这个数组
shift(); // 删除数组的第一个元素,并返回这个数组
push(); // 向数组的末尾添加一个或者多个元素,并返回新的长度的数组
unshift(); // 可向数组的开头添加一个或多个元素,并返回新的长度的数组
reverse(); // 颠倒数组中元素的顺序
splice(); // 添加/删除数组元素,并返回被删除的项目数组
sort(); // 数组排序,并返回这个数组,默认情况下按照字母升序
ES6语法:
copyWithin() // 指定位置的成员复制到其他位置
array.copyWithin(target, start = 0, end = this.length) 三个参数都是数值,如果不是,会自动转为数值. target(必需):从该位置开始替换数据。如果为负值,表示倒数。 start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。 end(可选):到该位置前停止读取数据,默认等于数组长度。使用负数可从数组结尾处规定位置。
fill(); // 填充数组
第一个元素(必须): 要填充数组的值 第二个元素(可选): 填充的开始位置,默认值为0 第三个元素(可选):填充的结束位置,默认是为this.length ['a', 'b', 'c'].fill(7) // [7, 7, 7] ['a', 'b', 'c'].fill(7, 1, 2) // ['a', 7, 'c']
不改变原数组的方法(8个)
ES5语法:
join(); // 把数组中所有元素通过指定的分隔符进行分隔放入一个字符串,返回生成的字符串,默认使用逗号作为分隔符。
toLocaleString(); // 返回一个表示数组元素的字符串。该字符串由每个数组中的每个元素的toLocaleString()返回值经调用join()方法连接组成
toString(); // toString()方法可把数组转换为由逗号连接起来的字符串
slice(); // 方法返回一个从开始到结束(不包括结束)选择的数组的一部分浅拷贝到一个新数组对象,且原数组不会被修改,字符串也有一个slice()方法是用来提取字符串的,别弄混
concat(); // 方法用于合并两个或多个数组,返回一个新数组
ES6扩展运算符...合并数组
indexOf(); // 查找数组中是否存在某个元素,返回下标。返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1。
lastIndexOf(); // 查找指定元素在数组中的最后一个位置.方法返回指定元素,在数组中的最后一个的索引,如果不存在则返回 -1。(从数组后面往前查找)
ES7语法:
includes(); // 查找数组是否包含某个元素 。 返回一个布尔值,表示某个数组是否包含给定的值
遍历方法(12个)
ES5语法:
forEach: 定义: 按升序为数组中含有效值的每一项执行一次回调函数。
array.forEach(function(currentValue, index, arr), thisValue)
every: 检测数组所有元素是否都符合判断条件
array.every(function(currentValue, index, arr), thisValue)
some: 数组中的是否有满足判断条件的元素
array.some(function(currentValue, index, arr), thisValue)
filter: 过滤原始数组,返回新数组
let new_array = arr.filter(function(currentValue, index, arr), thisArg)
map :对数组中的每个元素进行处理,返回新的数组
let new_array = arr.map(function(currentValue, index, arr), thisArg)
reduce : 为数组提供累加器,合并为一个值
array.reduce(function(total, currentValue, currentIndex, arr), initialValue)
initialValue(可选) : 指定第一次回调 的第一个参数。
reduceRight :从右至左累加
ES6语法:
find() : let new_array = arr.find(function(currentValue, index, arr), thisArg)
定义:用于找出第一个符合条件的数组成员,并返回该成员,如果没有符合条件的成员,则返回undefined。
findIndex(): let new_array = arr.findIndex(function(currentValue, index, arr), thisArg)
定义:返回第一个符合条件的数组成员的位置,如果所有成员都不符合条件,则返回-1。
keys() : 遍历键名 --------- values() : 遍历键值
entries() : 遍历键名+键值