javascript - 在对象的子键内分配一个键值

标签 javascript ecmascript-2016

我有一个对象:

let names = { field1: 'ton', field2: null }  // or field3 does not exist

我需要根据名称对象中的变量元素插入

field='field2'
relative='brotherage'
names[field][relative] =  30;  // has no effect in my code, why ?

得到这个:

 { field1: 'ton', field2: {brotherage: 30 } }

并使用此类代码向字段添加更多元素:

field='field2'
relative='cousinage'
names[field][relative] =  20;  // has no effect in my code, why ?

得到这个:

 { field1: 'ton', field2: {brotherage: 30, cousingage: 30 } }

什么是最好的方法或为什么我失败了...我尝试了很多东西但我迷路了...

最佳答案

你必须先用一个空对象初始化 names[field] :

let names = { field1: 'ton', field2: {} }

field='field2'
relative='brotherage'
names[field][relative] = 30

field='field2'
relative='cousinage'
names[field][relative] = 20

console.log(names)

关于javascript - 在对象的子键内分配一个键值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47220751/

相关文章:

javascript - 使用 every 时如何跳过一个元素

javascript - 如何注销 Facebook - 在 Rails 应用程序中使用代码(Ruby on Rails Omniauth)

javascript - 为什么所有的 CoffeeScript 文件总是同时执行 Rails

javascript - PreventDefault() 也禁用文本输入

javascript - 如何在箭头函数 HOC 中设置 Component displayName

javascript - 带有最小数字的空格和字符的正则表达式电话号码验证

regex - ECMAScript 正则表达式是否匹配其语法字符?

javascript : Async/await in . 替换

javascript - ECMAScript 6 或 7 是否支持静态类型?

javascript - 如何从 JSON 数组创建列表?