javascript - 如何处理javascript中的不可变对象?
问题描述
我希望我的对象是不可变的,但是像数百次一样复制同一个对象对我来说没有多大意义。
const arr = [1,2,3]
const arr2 = [...arr, 4]
const arr3 = [...arr, 5]
如果我必须复制更多次怎么办?我该如何处理?我不想每次都为要复制的对象声明 new const。以后如何在我的程序中使用它?
例如,我有一个简单的应用程序,可以更改数组中的值并将其放入 html。
const arr = [10,20];
foo(arr.map(x => x + 5))
如果我想用它的新值再次映射它怎么办?然后一次又一次?我将如何处理这个问题?
解决方案
我不想每次都为要复制的对象声明 new const。
您可以避免const
使用这些策略为每个声明编写。可能还有更多,具体取决于您的确切用例。
const arr = [1, 2, 3];
const [arr2, arr3] = [[...arr, 4], [...arr, 5]];
console.log(arr2);
console.log(arr3);
const
arr = [1, 2, 3],
arr2 = [...arr, 4],
arr3 = [...arr, 5];
console.log(arr2);
console.log(arr3);
推荐阅读
- javascript - 如何通过赛普拉斯测试索引 Redux 存储中的最后一个元素?
- angular - 如何使用 Promises 和 HTTP 请求对服务进行 Angular 8 单元测试?
- amazon-web-services - AWS:APIGateway 自定义响应正则表达式无法匹配
- c++ - 如何定义一个保证不更改其参数的函数,即使参数是非常量的?
- javascript - 如何等待特定 jQuery 选择中的所有图像加载?
- java - RestTemplate 线程和多个用户
- swift - 如何定义一个协议作为具有关联类型的另一个协议的主机
- c# - C# - 如果 tabindex = 0(主选项卡)则隐藏按钮,否则始终显示
- node.js - Firebase 重写无法在托管站点上运行
- wordpress - Wordpress 删除帖子属性