数组方法解析汇总
- 以下为控制台数组原型方法打印的截图
方法 | 说明 |
---|---|
at arr.at(number) | 返回该索引的元素,正数或负数 例: [1,2,3].at(-1) // 返回3 |
concat array1.(array2[, array3[, …[, arrayN]]]) | 合并两个或多个数组,返回新数组 例: array1.concat(array2,array3) |
copyWithin arr.copyWithin(target[, start[, end(不包括end)]]) | 浅复制数组的一部分到另一个位置并返回该数组 例:[0,1,2,3,4].copyWithin(0, 3, 4) // 返回[3,1,2,3] |
entries arr.entries() | 返回一个新的Array Iterator对象 例:let iterator1 = [‘a’, ‘b’, ‘c’].entries(); iterator1.next().value // 返回 [0, ‘a’] |
every arr.every(callback(element[, index[, array]])[, thisArg]) | 所有元素是否都能通过某个指定函数的测试, 返回boolean 例: [4,5,39,41].every((currentValue) => currentValue < 40) |
fill arr.fill(value[, start[, end(不包括end)]]) | 用一个固定值填充一个数组中从起始索引到终止索引内的全部元素并返回该数组 例:array1.fill(0, 2, 4) |
filter arr.filter(callback(element[, index[, array]])[, thisArg]) | 返回新数组, 其包含通过所提供函数实现的测试的所有元素 例:[‘spray’, ‘limit’, ‘destruction’, ‘present’].filter(word => word.length > 6); |
find arr.find(callback(element[, index[, array]])[, thisArg]) | 返回数组中满足提供的测试函数的第一个元素或undefined 例:[5, 12, 8, 44].find(element => element > 10) |
findIndex arr.findIndex(callback[, thisArg]) | 返回数组中满足提供的测试函数的第一个元素的索引 例:[5, 12, 8].findIndex((element) => element > 10) |
findLast | 例: |
findLastIndex | 例: |
flat arr.flat([depth(默认1)]) | 深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并,返回新数组 例:[1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]].flat(Infinity) |
flatMap arr.flatMap(callback(element[, index[, array]])[, thisArg]) | 使用映射函数映射每个元素,然后将结果压缩成一个新数组 例:[“it’s Sunny in”, “”, “California”].flatMap(x => x.split(" ")) |
flatten | 例: |
forEach arr.forEach(callback(currentValue [, index [, array]])[, thisArg]) | 每个元素执行一次给定的函数 例:[1,2,3].forEach(element => console.log(element)); |
from Array.from(arrayLike[, mapFn[, thisArg]]) | 对一个类似数组或可迭代对象创建一个浅拷贝的新数组实例 例:Array.from([1, 2, 3], x => x + x) |
includes arr.includes(valueToFind[, fromIndex]) | 判断一个数组是否包含一个指定的值,返回boolean 例:[1, 2, 3].includes(2) |
indexOf arr.indexOf(searchElement[, fromIndex]) | 在数组中可以找到一个给定元素的第一个索引或-1 例:[‘a’,‘b’,‘c’].indexOf(‘a’) |
join arr.join([separator]) | 使用分隔符将数组连接成一个字符串并返回这个字符串 例:[1,2,3,4].join(’-’) |
keys arr.keys() | 返回一个包含数组中每个索引键的Array Iterator对象 例: |
lastIndexOf arr.lastIndexOf(searchElement[, fromIndex]) | 返回指定元素在数组中的最后一个的索引或-1 例:[1,2,3,3,2,1].lastIndexOf(1) |
map arr.map(callback(currentValue [, index [, array]])[, thisArg]) | 创建一个新数组,其结果是该数组中的每个元素是调用一次提供的函数后的返回值 例:array1.map(x => x * 2) |
pop arr.pop() | 从数组中删除最后一个元素,并返回该元素 例:[1,2,3].pop() |
push arr.push(element1, …, elementN) | 将一个或多个元素添加到数组的末尾,并返回该数组的新长度 例:[1,2,3,4].push(5’) |
reduce arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue]) | 每个元素执行一个reducer函数(升序执行),将其结果汇总为单个返回值。 例:[1,2,3,4].reduce( (previousValue, currentValue) => previousValue + currentValue,0); |
reduceRight arr.reduceRight(callback(accumulator, currentValue[, index[, array]])[, initialValue]) | 接受一个函数作为累加器(accumulator)和数组的每个值(从右到左)将其减少为单个值。 例:[[0, 1], [2, 3], [4, 5]].reduceRight( (accumulator, currentValue) => accumulator.concat(currentValue)); |
reverse arr.reverse() | 将数组中元素的位置颠倒,并返回该数组 例:[‘one’, ‘two’, ‘three’].reverse() |
shift arr.shift() | 删除第一个元素,并返回该元素 例:[1,2,3,4].shift() |
slice arr.slice([begin[, end]]) | 返回一个新数组,这一对象是一个由 begin 和 end 决定的原数组的浅拷贝(包括 begin,不包括end)。原始数组不会被改变 例:[1,2,3].slice(1) |
some arr.some(callback(element[, index[, array]])[, thisArg]) | 是不是至少有1个元素通过了被提供的函数,返回boolean 例:[1, 2, 3, 4, 5].some((element) => element % 2 === 0) |
sort arr.sort([compareFunction]) | 对数组的元素进行排序,并返回数组 例: |
splice array.splice(start[, deleteCount[, item1[, item2[, …]]]]) | 通过删除或替换现有元素或者原地添加新的元素来修改数组,并以数组形式返回被修改的内容 例: |
toLocaleString arr.toLocaleString([locales[,options]]); | 数组中的元素将使用各自的 toLocaleString 方法转成字符串,这些字符串将使用一个特定语言环境的字符串(例如一个逗号 “,”)隔开 例: |
toString arr.toString() | 例:[1, 2, ‘a’, ‘1a’].toString() // “1,2,a,1a” |
unshift arr.unshift(element1, …, elementN) | 将一个或多个元素添加到数组的开头,并返回该数组的新长度 例:[1, 2, 3].unshift(4, 5) |
values arr.values() | 返回一个新的 Array Iterator 对象,该对象包含数组每个索引的值 例:[‘a’, ‘b’, ‘c’].values() |
ES6方法:of、from、copyWithin、find、findIndex、fill、entries、keys、values、includes、flat、flatMap、at、
返回新数组:concat、filter、flat、flatMap、from、map、slice
返回布尔值:every、includes、some
返回指定元素:at、find、pop、shift
返回指定索引:findIndex、indexOf、lastIndexOf
返回数组长度:push、unshift
返回Iterator 对象:entries、keys、values
…持续优化中