【发布时间】:2018-08-30 15:53:53
【问题描述】:
我有一个由某些原始元素组成的数组:
const array = [1, 2, 3]
我希望能够暂时冻结该数组的一个元素并防止它被修改。但是一旦元素可以被修改,就应该有办法解冻这个值。
有办法吗?
对于那些将此问题标记为重复的人来说是题外话:
问题是关于冻结数组的元素,而不是整个数组。这不是关于冻结整个数组的问题的重复。
【问题讨论】:
-
Object.freeze()满足您的要求吗? -
我的想法是制作一个包含原始值和锁定布尔值的自定义对象,如果它被锁定,则不允许更改,如果它未锁定,则允许更改。跨度>
-
@Leo 这不是重复的,他不想冻结整个数组。
-
@Andreas 只有数组定义是不变的。您仍然可以在 JS 中推送和弹出它的值。你只是不能重新分配给
array,所以array = [5];会出错。
标签: javascript