最近在做JS练习,其中有一道题是这样的:
在数组arr末尾添加元素item.不要直接修改数组,最后返回新的数组
function append(arr,item)最开始我直接想用splice在数组的最后一位添加item
arr.splice(arr.length,1,item)
但程序编程没有通过,后来在本地实验,实际是可以出现添加的效果的
后来审题,题目要求是不要直接修改数组,google一番后得出,原来
splice方法会直接修改原数组~~~~,这就和之前对于数组的操作方法slice有了本质的区别,因为后者是不会改变原数组的,
想了一下,索性换为concat
arr.concat([item])把item作为一个单独的数组和arr拼接,这样编译是通过了的。其实网上有很多关于concat splice slice 的对比,但自己没错过的,永远不知道怎么错的。learning by doing