javascript - 在引用变量中更改时原始数组未更新
问题描述
对于我的工作,我需要访问嵌套对象数组。我不想每次都使用完整路径访问它。所以我想通过将实际引用分配给变量来缩短引用。
我试图找出现有的答案,但没有得到这种情况的答案。
我所做的:将数组的引用分配给变量,修改引用的值。但是原始数组没有被修改。
下面是我想要实现的演示代码。
let obj = {
innerObj1: {
arr: [2,3,4,5,6]
}
}
var ref = obj.innerObj1.arr;
console.log(ref);
// output [2,3,4,5,6]
ref = ref.filter(n => n%2 == 0);
console.log(ref);
// output [2,4,6]
//Original obj
console.log(obj.innerObj1.arr)
// output [2,3,4,5,6]
解决方案
只需访问以下特定索引ref
:
let obj = {
innerObj1: {
arr: [2, 3, 4, 5, 6]
}
}
const ref = obj.innerObj1.arr;
console.log(ref);
// output [2, 3, 4, 5, 6]
for(let i = 0; i < ref.length; i++) {
ref[i] = ref[i] % 2 == 0;
}
// Original obj
console.log(obj.innerObj1.arr)
// output [true, false, true, false, true]
推荐阅读
- uwp - 给定大量数据时,UWP 应用程序崩溃无异常
- java - Java:从输入字符串数组生成 nCr 数组并返回它
- javascript - 节点js中的异步系列?页面首先呈现在数据之前
- ajax - 如何将数据从 django 传递到引导模式?
- spring - Spring Boot - Cacheable 似乎每次都进入该方法
- docker - Docker 卡在构建和其他命令上
- html - 如何在 Shiny 和 Shinydashboard 中自定义 HTML 文本和 verbatimTextOutput 之间的空间
- javascript - 未捕获的错误:不变违规和屏幕方向
- googletest - TEST、TEST_F 和 TEST_P 有什么区别?
- python - 如何删除文件基名的一部分并将其附加到文件名的末尾?