push
向数组末尾添加一个或多个元素,并返回新的长度。
- 语法:array.push()
- 注意1:向数组末尾添加元素
- 注意2:此方法会改变数组的长度
unshift
向数组开头添加一个或更多元素,并返回新的长度
- 语法:array.unshift()
- 注意:此方法会改变数组的数目
pop
用来删除数组最后一个元素或多个元素,并返回删除的元素
- 语法:array.pop()
- 注意:此方法改变数组的长度
shift
用于把数组的第一个元素删除,并返回第一个元素的值
- 语法:array.shift()
- 注意:此方法改变数组的长度
concat
用于连接两个或多个数组
该方法不会改变现有数组,仅仅返回一个被连接数组的副本
- 语法:array.concat(array1,array2,....)
- 参数:必需,需要连接的数组(array1,array2,......)
find
返回通过测试条件的数组的第一个元素(测试条件在函数中定义);为数组中每一个元素都调用一次函数执行
- 当数组中的元素在测试条件时返回true时,find()返回符合条件的元素,之后的值不会再调用执行函数。
- 如果没有符合条件的元素返回 undefined
- 语法:array.find((currentValue,index,arr)=>,thisValue)
- 参数:
currentValue:必需,当前元素的值
index:可选,当前元素的索引值
arr:可选,当前元素所属的数组对象
slice
- 可从已有的数组中选择特定的元素
- 可提取字符串的某个部分,并以新的字符串返回被提取的部分
- slice方法不会改变原始数组
- 语法:array.slice(start, end)
- 参数:
start:可选。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推
end:可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。
- 返回值:返回一个新的数组,包含从start到end(不包含end下标的该元素)的数组中的元素
splice
用于添加或删除数组中的元素
- 注意:这种方法会改变原始数组
- 语法:array.splice(index,howmany,item1,.....,itemX)
- 参数:
index:必需。规定从何处添加/删除元素,该参数是开始插入或者删除的元素下标,必须是数字。
howmany:可选。规定删除多少元素。必须是数字,可以是0。如果未规定此参数,则删除从index开始到原数组结尾的所有元素。
item1, ..., itemX:可选。要添加到数组的新元素
- 返回值:如果从数组中删除了元素,则返回的是含有被删除的元素的数组
map
返回一个新数组,数组中的元素为原始数组元素调用函数处理后(按照原始数组元素顺序依次处理元素)的值
- 注意:
map()不会对空数组进行检测;
map()不会改变原始数组,而是返回一个新数组
- 语法:
- array.map((currentValue,index,arr)=>{进行处理的函数}, thisValue)
- 参数:
-
(currentValue,index,arr)=>{}:必须。函数,数组中的每个元素都会执行这个函数。
函数参数:
1.currentValue:必须。当前元素的值。 2.index:可选。当前元素的索引值。 3.arr:可选。当前元素属于的数组对象。
- thisValue:可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了thisValue,或者传入null、undefined,那么回调函数的 this 为全局对象。
- 返回值:返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值
foreach
用于调用数组的每个元素,并将元素传递给回调函数。
- 注意:forEach() 对于空数组是不会执行回调函数的。
- 语法:array.forEach((currentValue,index,arr)=>{},thisValue)
- 参数:
-
(currentValue,index,arr)=>{}:必需。数组中每个元素需要调用的函数。
函数参数:
1.currentValue:必须。当前元素的值。 2.index:可选。当前元素的索引值。 3.arr:可选。当前元素属于的数组对象。
- thisValue:可选。传递给函数的值一般用 "this" 值。
如果这个参数为空, "undefined" 会传递给 "this" 值
- 返回值:undefined
map和foreach的区别
- map():对数组的每一项运行给定函数,返回每次函数调用的结果组成的数组。
- forEach():对数组的每一项运行给定函数,无返回值。
reduce
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。可以作为一个高阶函数,用于函数的 compose。
- 注意:对于空数组不会执行函数操作
- 语法:array.reduce((total, currentValue, currentIndex, arr)=>{}, initialValue)
- 参数:
-
(total, currentValue,currentIndex,arr)=>{}:必需。用于执行每个数组元素的函数。
函数参数:
1.total:必需。初始值,或者计算结束后的返回值。 2.currentValue:必需。当前元素的值。 3.currentIndex:可选。当前元素的索引值。 4.arr:可选。当前元素属于的数组对象。
- initialValue:可选。传递给函数的初始值。
- 返回值:返回函数的执行计算结果
filter
创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
- 注意:
filter()不会对空数组进行检测。
filter()不会改变原始数组。
- 语法:array.filter((currentValue, index, arr)=>{}, thisValue)
- 参数:
-
(currentValue,index,arr)=>{}:必需。数组中每个元素都会执行这个函数。
函数参数:
1.currentValue:必需。当前元素的值。 2.index:可选。当前元素的索引值。 3.arr:可选。当前元素属于的数组对象。
- 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。如果省略了 thisValue ,"this" 的值为 "undefined"
- 返回值:返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。