gpt4 book ai didi

javascript - 如何创建不可变数组?

转载 作者:行者123 更新时间:2023-12-03 16:45:00 26 4
gpt4 key购买 nike

我试图编写一个脚本无法改变的数组;而不是通过在数组中添加或弹出元素。我试图做这样的事情:

const arr = [30, 20, 10]

但是当我尝试向数组中添加一个元素时它起作用了。

谁能告诉我如何定义一个不能改变的数组

最佳答案

您正在寻找 Object.freeze()

但是,您应该注意,本身是对象的条目仍然可以修改,除非它们也被卡住

const arr = [30, 20, 10, {name: 'Tom', age: 54}, [0]];
Object.freeze(arr);

// arr.push(10); // Uncaught TypeError: Cannot add property 3, object is not extensible
// arr.pop(); // Uncaught TypeError: Cannot delete property '2' of [object Array]

arr[0] = 5;

arr[3].name = 'Modified';
arr[4][0] = 'Modified';

console.log(arr);

关于javascript - 如何创建不可变数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60064956/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com