Array方法速记表
** 数组方法 **
方法名 | 注解 | 返回值 | js 版本 |
---|---|---|---|
Array.isArray(obj) | 检测对象是否是 Array ,是则返回 true,否则为 false。 | Boolean | 5 |
Array.from(arrayLike, mapFn, thisArg) | 该方法从一个类似数组或可迭代对象创建一个新的数组实例。参数 arrayLike 是想要转换成真实数组的类数组对象或可遍历对象。mapFn 是可选参数,如果指定了该参数,则最后生成的数组会经过该函数的加工处理后再返回。thisArg 是可选参数,为执行 mapFn 函数时 this 的值。 | Array | 6 |
Array.of(item…) | 该方法用于创建数组实例。该方法用于替代 Array() 或 new Array()。Array.of() 和 Array 构造函数之间的区别在于处理整数参数:Array.of(7) 创建一个具有单个元素 7 的数组,而 Array(7) 创建一个包含 7 个 undefined 元素的数组。 | Boolean | 6 |
** 数组实例方法 **
改变原数组方法: push、pop、unshift、shift、reverse、sort、splice、copyWithin、fill
方法名 | 改变原数组 | 注解 | 返回值 | js 版本 |
---|---|---|---|---|
join(separator) | 否 | 把数组构构造成字符串,它先把数组中的每个元素转换成字符串,然后再用 separator 分隔符把它们链接在一起,separator 分隔符默认是逗号 “,”,要想做到无间隔链接,可以使用空字符串作为 separator | String | 3 |
push(item…) | 是 | 将一个或多个新元素添加到数组结尾,并返回数组新长度。 | Number | 3 |
pop() | 是 | 移除最后一个元素并返回该元素值。 | * | 3 |
unshift(item…) | 是 | 将一个或多个新元素添加到数组开始,数组中的元素自动后移,返回数组新长度。 | Number | 3 |
shift() | 是 | 移除最前一个元素并返回该元素值,数组中元素自动前移.如果这个数组是空的,它会返回 undefined。shift 通常比 pop 慢的多。 | * | 3 |
reverse() | 是 | 反转数组的顺序。 | Array | 3 |
sort(comparefn) | 是 | 给数组排序,默认升序。 注意 sort 默认会将数组内容视为字符串来排序,所以对数字排序时默认的排序规则会错的离谱。一般我们给 sort 带入个比较函数来替代原来的默认的比较方法,比较方法接受两个参数,如果两个参数相等则返回 0,如果第一个参数应该排在前面则返回一个负数,如果第二个参数应该排在前面则返回一个正数 | Array | 3 |
concat(item…) | 否 | 该方法产生一份 arr 的潜复制,并将多个数组(也可以是字符串,或者是数组和字符串的混合)附加在其后连接为一个数组,返回连接好的新的数组。 | Array | 3 |
slice(start, end) | 否 | 该方法对数组中的一段做浅复制,首先复制数组 arr[start] 至 arr[end] 的部分,注意不包括 end 对应的元素,如果省略 end 将复制 start 之后的所有元素(或者理解成 end 的默认值为 length)。 | Array | 3 |
splice(start, deleteCount, item…) | 是 | 该方法从 arr 中移除一个或多个元素,并将新的 item 插入至移除元素的开始位置, 参数 start 是移除元素的开始位置,deleteCount 是要移除的元素的个数,item 是要被插入的元素。它返回一个包含被移除元素的数组。 | Array | 3 |
copyWithin(target, start, end) | 是 | 该方法复制数组的一部分到同一数组中的另一个位置(会覆盖原成员),并返回修改后的数组。使用这个方法,会修改当前数组。参数 target 为开始替换数据的位置,若 target 大于等于 arr.length,将会不发生拷贝。start 是可选参数,为开始读取数据的位置,默认为 0。end 是可选参数,为停止读取数据的位置,默认为 arr.length。 | Array | 6 |
fill(value, start, end) | 是 | 该方法使用给定值填充一个数组,参数 value 是用来填充数组的值。start 是可选参数,为填充开始位置,默认为 0。end 是可选参数,为填充的结束位置,默认为 arr.length。 | Array | 6 |
indexOf(searchElement, start) | 否 | 该方法返回要查找的项在数组中的位置,如果没找到返回 -1。接受两个参数,searchElement 是要查找的项,start 是查找起始位置的索引,默认是 0。 | Number | 5 |
lastIndexOf(searchElement, start) | 否 | 从 start 位置开始向前查找,start 默认值为 arr.length – 1。注意该方法在比较查找项与数组中每一项时,会使用全等操作符,也就是要求查找的项必须严格相等。 | Number | 5 |
includes(searchElement, fromIndex) | 否 | 该方法用来判断当前数组是否包含某指定的值(可以判断 NaN),如果是,则返回 true,否则返回 false。参数 searchElement 为需要查找的元素值。参数 fromIndex 是可选参数,从该索引处开始查找 searchElement,如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索,默认为 0。 如果 fromIndex 大于等于数组长度 ,则返回 false 。该数组不会被搜索。 | Boolean | 6 |
every(callback,thisArg) | 否 | 对数组中的每一项运行给定函数,如果该函数对每一项都返回 true,则返回 true。callback 被调用时传入三个参数:元素值,元素的索引,原数组。thisArg 为可选参数,指定执行 callback 时使用的 this 值。 | Boolean | 5 |
some(callback, thisArg) | 否 | 对数组中的每一项运行给定函数,如果该函数对任意一项返回 true,则返回 true。 | Boolean | 5 |
filter(callback, thisArg) | 否 | 对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组。 | Array | 5 |
forEach(callback) | 否 | 对数组中的每一项运行给定函数,这个方法没有返回值。本质上与使用 for 循环迭代数组一样。 | undefined | 5 |
map(callback) | 否 | 对数组中的每一项运行给定函数,返回每次函数调用组成的数组。 | Array | 5 |
find(callback, thisArg) | 否 | 该方法对数组所有成员依次执行 callback 函数,直到找出第一个返回值为 true 的成员,然后返回该成员。如果没有符合条件的成员,则返回 undefined。find 方法的回调函数可以接受三个参数,依次为当前的值、当前的位置和原数组 | * | 6 |
findIndex(callback, thisArg) | 否 | 该方法与 arr.find() 类似,对数组中的成员依次执行 callback 函数,直至找出第一个返回值为 true 的成员,然后返回该成员的索引。如果没有符合条件的成员,则返回 -1。 | Number | 6 |
entries() | 否 | 返回一个新的 Array Iterator 对象,可以用 for...of 循环进行对键值对的遍历。 | Iterator | 6 |
keys() | 否 | 返回一个新的 Array Iterator 对象,可以用 for...of 循环进行对键名的遍历。 | Iterator | 6 |
values() | 否 | 返回一个新的 Array Iterator 对象,可以用 for...of 循环进行对键值的遍历。 | Iterator | 6 |
reduce(callback, initialValue) | 否 | 从数组的第一项开始,逐个遍历到最后,迭代数组所有的项,然后返回一个最终值。接受两个参数,callback 每一项上调用的函数,callback 被调用时传入四个参数:上一次调用回调返回的值、正在处理的元素、正在处理的元素的索引值(如果提供了 initialValue ,从 0 开始;否则从 1 开始)、原数组。initialValue 是可选项,作为归并基础的初始值,其值用于第一次调用 callback 的第一个参数。 | * | 5 |
reduceRight(callback, initialValue) | 否 | 数组的最后一项开始,向前遍历到第一项,迭代数组所有的项,然后返回一个最终值。接受两个参数,callback 每一项上调用的函数,callback 被调用时传入四个参数:上一次调用回调返回的值、正在处理的元素、正在处理的元素的索引值(如果提供了 initialValue ,从 0 开始;否则从 1 开始)、原数组。initialValue 是可选项,作为归并基础的初始值,其值用于第一次调用 callback 的第一个参数。 | * | 5 |