有哪些数组操作?哪些操作不会改变原数组?

      作业帮面试题,原题目是“哪些数组操作不会改变原数组?”,这里扩展一下,列出了所有的数组操作。

1、shift

  删除数组中第一个元素,返回被删除的元素,改变了原数组

array.shift()

2、pop

  删除数组中最后一个元素,返回被删除的元素,改变了原数组

array.pop()

3、unshift

  向数组开头追加元素,可追加一个或多个元素,返回新数组长度,改变了原数组

array.unshift(item1,item2,...)

4、push

  向数组末尾追加元素,可追加一个或多个元素,返回新数组长度,改变了原数组

array.push(item1,item2,...)

5、concat

  连接两个或多个数组,返回新数组,不改变原数组

array1.concat(array2,array3,...)

6、join

  将数组元素通过指定分隔符拼接成字符串,返回字符串,不改变原数组

array.join('-')

7、reverse

  颠倒数组中元素的顺序,返回改变后的新数组

array.reverse()

8、slice

  截取数组中的一部分,返回截取的部分数组,不改变原数组

array.slice(startIndex,endIndex)

9、splice

  向数组中添加或删除项目,返回被删除的项目,改变了原数组

array.splice(index,deleteCount,item1,item2,...)

10、copyWithin

  在数组内部,将指定位置的成员复制到数组中的其他位置,返回复制后的新数组

array.copyWithin(targetIndex, startIndex, endIndex)

11、fill

    将给定的值填充到数组的指定位置,返回填充后的新数组,若给定的值是引用类型,则填充的所有项指向同一个地址。

array.fill(value, startIndex, endIndex)

12、flat

  将二维或多维数组按指定层数拉平,返回拉平后的新数组,不改变原数组

array.flat(Infinity)

13、map

  遍历数组进行操作,返回新数组,不改变原数组

array.map((item,index) => {
    // 数组操作
    return item
})

14、flatMap

  先执行map操作再执行flat操作,只能展开一层数组,返回新数组,不改变原数组

array.flapMap((item,index) => {
    // 数组操作
    return item
})

15、sort

  按规则排序,返回排序后的新数组

array.sort(sortFn)

  更多面试题可参考大厂高级前端面试题 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值