数组方法汇总

数组方法解析汇总

MDN链接 Array

  • 以下为控制台数组原型方法打印的截图

    数组方法
方法说明
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

…持续优化中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值