我们对 JavaScript 中这些函数的工作原理已经相当熟悉了。所以,我打算根据自己的理解,为这些函数写出不可变(immutable)的实现版本。欢迎你在评论区留下你的建议、疑虑或是提问,我随时乐于更新这篇文章。
// 不可变版本的 pop 函数,移除数组最后一个元素
function pop(arr) {
let newArr = [...arr]; // 深拷贝一份原数组
newArr.length = arr.length - 1; // 将新数组长度减一
return newArr; // 返回新数组
}
// 不可变版本的 push 函数,向数组末尾添加一个或多个元素
function