js 常用有关数组的方法

let arr = [a,b,c]

修改原数组

push()

在数组末尾添加一个或多个元素新数组长度arr.push('a') → 返回 4 (原数组长度+1)
pop()删除数组最后一个元素被删除的元素arr.pop() → 返回 'c'
shift()删除数组第一个元素被删除的元素arr.shift() → 返回 'a'
unshift()在数组开头添加一个或多个元素新数组长度arr.unshift('x') → 返回 4
splice()删除/替换/插入元素被删除元素的数组arr.splice(1, 2, 'y') → 删除从索引1开始的2个元素,插入 'y'
reverse()反转数组元素顺序修改后的原数组[1, 2].reverse() → [2, 1]
sort()对数组元素排序修改后的原数组[3, 1].sort((a,b) => a - b) → [1, 3]
copyWithin()复制数组内部的一部分到同一数组的其他位置(ES6)修改后的原数组[1,2,3].copyWithin(0, 2) → [3,2,3]
fill()用固定值填充数组元素(ES6)修改后的原数组new Array(3).fill(0) → [0,0,0]

返回新数组

concat()合并多个数组[1].concat([2], [3]) → [1,2,3]
slice()返回数组的浅拷贝部分[1,2,3].slice(1,3) → [2,3]
flat()将嵌套数组扁平化(ES2019)[1, [2]].flat() → [1,2]
flatMap()先执行 map() 再执行 flat(1)(ES2019)[1,2].flatMap(x => [x*2]) → [2,4]
map()对每个元素执行函数,返回新数组[1,2].map(x => x*2) → [2,4]
filter()筛选符合条件的元素[1,2,3].filter(x => x>1) → [2,3]

迭代方法

forEach()遍历每个元素undefined[1,2].forEach(x => console.log(x))
every()检查所有元素是否满足条件布尔值[1,2].every(x => x>0) → true
some()检查是否有元素满足条件布尔值[1,2].some(x => x>1) → true
find()返回第一个符合条件的元素(ES6)元素或 undefined[1,2].find(x => x>1) → 2
findIndex()返回第一个符合条件的元素索引(ES6)索引或 -1[1,2].findIndex(x => x>1) → 1
findLast()从右向左查找第一个符合条件的元素(ES2023)元素或 undefined[1,2,3].findLast(x => x%2===1) → 3
findLastIndex()从右向左查找第一个符合条件的元素索引(ES2023)索引或 -1[1,2,3].findLastIndex(x => x%2===1) → 2
reduce()从左到右累计处理元素累计值[1,2].reduce((sum, x) => sum + x, 0) → 3
reduceRight()从右到左累计处理元素累计值[1,2].reduceRight((sum, x) => sum + x, 0) → 3

其他方法

join()将数组元素连接为字符串字符串[1,2].join('-') → '1-2'
includes()判断数组是否包含某个值(ES6)布尔值[1,2].includes(2) → true
indexOf()返回元素第一次出现的索引索引或 -1[1,2].indexOf(2) → 1
lastIndexOf()返回元素最后一次出现的索引索引或 -1[1,2,2].lastIndexOf(2) → 2
keys()返回包含数组索引的迭代器(ES6)迭代器[...['a','b'].keys()] → [0,1]
values()返回包含数组元素的迭代器(ES6)迭代器[...['a','b'].values()] → ['a','b']
entries()返回包含键值对的迭代器(ES6)迭代器[...['a','b'].entries()] → [[0,'a'], [1,'b']]
toReversed()返回反转后的新数组(不修改原数组,ES2023)新数组[1,2].toReversed() → [2,1]
toSorted()返回排序后的新数组(不修改原数组,ES2023)新数组[3,1].toSorted((a,b) => a - b) → [1,3]
toSpliced()返回修改后的新数组(不修改原数组,ES2023)新数组[1,2,3].toSpliced(1,1) → [1,3]
with()返回修改指定索引值后的新数组(不修改原数组,ES2023)新数组[1,2,3].with(1, 9) → [1,9,3]

静态方法

Array.from()将类数组或可迭代对象转为数组(ES6)Array.from('abc') → ['a','b','c']
Array.of()创建包含任意数量元素的数组(ES6)Array.of(1,2,3) → [1,2,3]
Array.isArray()判断是否为数组Array.isArray([]) → true
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值