改变原数组的七个方法
push()
方法将一个或多个元素添加到数组的末尾,并返回该数组的新长度。pop()
方法从数组中删除最后一个元素,并返回该元素的值。unshift()
方法将一个或多个元素添加到数组的开头,并返回该数组的新长度。shift()
方法从数组中删除第一个元素,并返回该元素的值。splice()
方法通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容。sort()
方法用原地算法对数组的元素进行排序,并返回数组。reverse()
方法将数组中元素的位置颠倒,并返回该数组。数组的第一个元素会变成最后一个,数组的最后一个元素变成第一个。
不改变原数组的方法
concat()
方法用于合并两个或多个数组。此方法不会更改现有数组,而是返回一个新数组。slice()
方法返回一个新的数组对象,这一对象是一个由begin
和end
决定的原数组的浅拷贝(包括begin
,不包括end
)。原始数组不会被改变。join()
方法将一个数组(或一个类数组对象)的所有元素连接成一个字符串并返回这个字符串,用逗号或指定的分隔符字符串分隔。如果数组只有一个元素,那么将返回该元素而不使用分隔符。copyWithin()
方法浅复制数组的一部分到同一数组中的另一个位置,并返回它,不会改变原数组的长度。fill()
方法用一个固定值填充一个数组中从起始索引到终止索引内的全部元素。不包括终止索引。includes()
方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回true
,否则返回false
。
filter()
方法创建给定数组一部分的浅拷贝,其包含通过所提供函数实现的测试的所有元素。forEach()
方法对数组的每个元素执行一次给定的函数。map()
方法创建一个新数组,这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成。reduce()
方法对数组中的每个元素按序执行一个由您提供的 reducer 函数,每一次运行 reducer 会将先前元素的计算结果作为参数传入,最后将其结果汇总为单个返回值。some()
方法测试数组中是不是至少有 1 个元素通过了被提供的函数测试。它返回的是一个 Boolean 类型的值。every()
方法测试一个数组内的所有元素是否都能通过某个指定函数的测试。它返回一个布尔值。indexOf()
方法返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回 -1。lastIndexOf()
方法返回指定元素(也即有效的 JavaScript 值或变量)在数组中的最后一个的索引,如果不存在则返回 -1。从数组的后面向前查找,从fromIndex
处开始。