javascript - 如何在javascript上使用动态键设置嵌套对象
问题描述
let foo = {};
const key1 = 'a';
const key2 = 'b';
const key3 = 'c';
foo[key1][key2][key3] = [1, 2];
当我尝试做类似的事情时,我得到:
Uncaught TypeError: Cannot read property 'b' of undefined
解决方案
您必须先创建嵌套对象,然后才能在其中创建属性。
let foo = {}
const key1 = 'a'
const key2 = 'b'
const key3 = 'c'
foo[key1] = {};
foo[key1][key2] = {};
foo[key1][key2][key3] = [1, 2];
console.log(foo);
如果键列表是在数组中动态生成的,请参阅Populate nested object from array? 用于创建所有对象的函数。
推荐阅读
- python - Numpy 使用矩阵索引插入矩阵值
- javascript - 分组键值对象
- javascript - 未定义 Arc2D 类型的 parseDouble(String) 方法
- azure-devops - 获取管道特定的运行 ID
- html - 我无法获得相同大小的图像 [HTML/CSS]
- c# - 在 C# 中,如何根据数据是行数据还是标题数据,将 csv 数据分成两个表
- ruby-on-rails - 如何更改rails中每个页面的背景?
- mongodb - MONGO - 知道输入数组的所有元素是否都在 mongoDB 中
- python - 根据数据库中的数据检查 Flask WTForms 无线电场值
- python - 是否可以在 VS Code 调试模式下查看当前正在执行哪一行?