1. arr.push()
- 释义:在数组的末尾添加一个或多个元素。
- 返回值:返回新的数组的长度。
- 语法:
arr.push(元素1,元素2,...,元素x)
- 参数:元素 1 必填,元素 2 和元素 x 可选。
- 说明:会改变原数组,并不会返回一个新数组。
2. arr.pop()
- 释义:删除数组末尾最后一个元素。
- 返回值:返回被删除的元素。
- 语法:
arr.pop()
- 参数:无。
- 说明:改变原数组,将数组长度减一。
- 注意:如果数组为空,则不改变原数组,会返回 undefined。
3. arr.unshift()
- 释义:从数组的开头添加一个或多个元素。
- 返回值:返回新的数组长度。
- 语法:
arr.unshift(元素1,元素2,...,元素x)
- 参数:元素 1 必填,元素 2 和元素 x 可选。
- 说明:直接修改原数组,不创建新的数组。
- 注意:unshift() 方法无法在 Internet Explorer 中正确地工作!(待确认)
4. arr.shift()
- 释义:从数组的开始删除第一个元素。
- 返回值:返回删除的元素。
- 语法:
arr.shift()
- 参数:无。
- 说明:改变原数组,将数组长度减一。
- 注意:如果数组为空,则不改变原数组,会返回 undefined。
5.arr.reverse()
- 释义:翻转数组。
- 返回值:返回处理好的数组。
- 语法:
arr.reverse()
- 参数:无。
- 说明:直接修改原数组。
6.arr.sort()
- 释义:数组排序
- 返回值:返回数组的引用。(待确认)
- 语法:
arr.sort(sotrFn)
- 参数:该函数要比较两个值,然后返回一个用于说明这两个值的相对顺序的数字。比较函数应该具有两个参数 a 和 b,其返回值如下:
- 若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。
- 若 a 等于 b,则返回 0。
- 若 a 大于 b,则返回一个大于 0 的值。
- 说明:直接修改原数组。
- 示例
1 | arr.sort(function(x,y){return x-y});// 升序 |
7.arr.splice()
- 释义:可实现对数组的删除、替换、添加操作。
- 返回值:返回被删除的数组。如果有的话。
- 语法:
arr.splice(index,howmany,item1,.....,itemX)
- 参数:
- index:必填,删除,替换,添加操作的数组下标位置。使用负数的话,就从数组结尾算起。
- howmany: 必填:要删除的数组元素个数,为 0 则不删除。
- item1,…itemX: 可选,添加的元素。
- 说明:会修改原数组。
- 示例:
1 | var arr = new arr("a","b","c","d"); |
8.arr.slice()
- 释义:从数组中截取元素。
- 返回值:将截取出来的数组元素放在一个新数组中返回。
- 语法:
arr.slice(start,end)
- 参数:
- start: 必须,起始索引,从 0 开始。如果为负数,-1 为最后一个元素,-2 为倒数第二个元素。
- end: 可选,结束索引,从 1 开始。截取不包括 end。如果不传,则截取到数组末尾。如果为负数,则从数组末尾算起。
- 说明:不改变原数组。
9.arr.indexOf()
- 释义:从前往后查找数组中的元素。
- 返回值:找到第一个就返回元素下标,不再查找。没找到返回 -1。
- 语法:
arr.indexOf(元素,查找位置)
- 参数:
- 元素:必选,要查找的元素。
- 查找位置:可选,默认值为 0。如果索引大于或等于数组长度,则返回 -1。为负数时,依旧是从前往后查找。-1 代表最后一个元素,-2 为倒数第二个,以此类推。当索引小于 0 时,默认查询整个数组。
10.arr.lastIndexOf()
- 释义:从后往前查找数组中的元素。
- 返回值:找到第一个就返回元素下标,不再查找。没找到返回 -1。
- 语法:
arr.lastIndexOf(元素,查找位置)
- 语法:
- 参数:
- 元素:必选,要查找的元素。
- 查找位置:可选,默认值为数组最后一项的索引,即数组长度-1。如果索引大于或等于数组长度,则查询整个数组。为负数时,依旧是从后往前查找。“如果为负值,将其视为从数组末尾向前的偏移。”。当索引的绝对值大于数组长度时,返回 -1。
11.arr.concat()
- 释义:将多个数组拼接成一个数组。
- 返回值:返回拼接好的数组。
- 语法:
arrayObj.concat(arr1,arr2,...,arrX)
- 参数:
- arrX: 必填,需要被添加进调用了 concat 方法的数组 arrayObj 中的项目。可以是具体的值,也可以是数组,当时数组时,是把数组的值添加进去 arrayObj。而不是直接添加数组。
- 说明:不会改变原数组。
12.arr.join()
- 释义:将数组中的元素以某个字符进行拼接。
- 返回值:返回拼接好的字符串。
- 语法:
arr.join(连接字符)
- 参数:
- 连接字符:默认为逗号。
- 说明:不会改变原数组。
- 注意:如果数组元素为 undefined 或 null,则被视为空字符串。
- 示例:
1 | var arr=[undefined,undefined,null,null]; |
13. arr.forEach()
- 释义:遍历数组。
- 返回值:undefined
- 语法:
arr.forEach(function(value,index,array){},thisArg)
- 参数:
- function:
- value:当前循环到的元素
- index:可选,当前元素的索引。
- array:可选,被遍历的原数组。
- thisArg: 如果 thisArg 参数有值,则每次 callback 函数被调用时,this 都会指向 thisArg 参数。如果省略了 thisArg 参数,或者其值为 null 或 undefined,this 则指向全局对象。
- function:
- 说明:forEach 方法不会直接改变原数组,但可能被 forEach 方法的 callback 改变。
14.arr.map()
- 释义:遍历数组。
- 返回值:进行遍历操作后的新的数组。
- 语法
var new_array = arr.map(function callback(currentValue[, index[, array]]) {
// Return element for new_array
}[, thisArg]) - 参数:同 forEach
- 说明:map 方法不会直接改变原数组,但可能被 map 方法的 callback 改变。
15.arr.filter()
- 释义:数组过滤。
- 返回值:返回过滤好的数组,没有符合的则返回空数组。
- 语法:
var newArray = arr.filter(callback(element[, index[, array]])[, thisArg])
- 参数:
- callcack: 过滤规则的回调函数
- element: 当前元素。
- index: 可选,当前元素的索引。
- array: 可选:调用方法的数组。
- thisArg: 可选,执行 callback 时,用于 this 的值。如果为 filter 提供一个 thisArg 参数,则它会被作为 callback 被调用时的 this 值。否则,callback 的 this 值在非严格模式下将是全局对象,严格模式下为 undefined。
- callcack: 过滤规则的回调函数
- 说明:不会改变原数组。
16.arr.findIndex()
- 释义:根据回调函数查找索引
- 返回值:找到匹配元素后,返回索引,找到一个就停止查找。没找到返回 -1。
- 语法:
arr.findIndex(callback[, thisArg])
- 参数:同上。
- 示例:
1 | var arr = ['zs', 'ls', 'ww'] |
17. arr.every()
- 释义:测试数组的所有元素是否都通过了指定函数的测试。
- 返回值:和 && (且)类似,都符合条件返回 true, 只要有一个不符合条件便返回 false。
- 语法:
arr.every(callback[,thisArg]);
- 参数:同上。
- 说明:不会改变原数组。
- 注意:空数组也是返回 true(空数组中所有元素都符合给定的条件)。
18. arr.some()
和 every() 用法一样,只是采用 || (或)的运算规则。
19. Array.isArray()
- 释义:用于确定传递进来的一个元素是不是数组。
- 返回值:是数组则为 true, 否则为 false。
- 语法:
Array.isArray(obj)
- 参数:obj:需要检测的元素。
- 注意:直接由 Array 调用。