为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用变量创建具有索引和值的 Javascript 对象?

如何使用变量创建具有索引和值的 Javascript 对象?

不负相思意 2022-01-07 16:50:41
我的javascript代码有问题,我需要创建一个带有变量的对象,而这些变量也是对象。解释:我在我的 javascript 代码中需要这个(类似于 Json 结构):var myObj = {   variableOne: {             variableOneA: 'someValue',             variableOneB: 'someValue'         }   variableTwo: {             variableTwoA: 'someValue',             variableTwoB: 'someValue'         }   variableThree: {             variableThreeA: 'someValue',             variableThreeB: 'someValue'         } }现在,我的问题是,在 Js 中我不能对对象执行“推送”方法,我只能向对象添加一级变量:myObj.variableOne = 'someValue';任何人都可以帮助我吗?我相信解决方案可能很容易,但我是 Js 的新手。
查看完整描述

2 回答

?
繁花如伊

TA贡献2012条经验 获得超12个赞

在 Javascript 中有多种访问对象的方法。


var myObj = {

   variableOne: {

             variableOneA: 'oneA',

             variableOneB: 'oneB'

         }

   variableTwo: {

             variableTwoA: 'twoA',

             variableTwoB: 'twoB

         }

   variableThree: {

             variableThreeA: 'threeA',

             variableThreeB: 'threeB'

         }

 }

您可以使用“点”来访问对象的特定级别。


const valueVariableOneA = myObj.variableOne.variableOneA

console.log(valueVariableOneA) // output => "oneA"

您可以使用方括号代替点。当您想用破折号创建对象的键时,方括号很有用(例如:“cool-key”)


const valueVariableThreeB = myObj['variableThree']['variableThreeB']

console.log(valueVariableThreeB) // output => "threeB"

您还可以使用解构来访问特定值


// Get value of variableTwoA key


const { variableTwoA } = myObj.variableTwo // first way

const { variableTwo : { variableTwoA } } = myObj // second way


console.log(variableTwoA) // output => "twoA"

现在要向嵌套对象添加键,您可以使用点或方括号方法。这是在第一级添加密钥的方法。


myObj.variableFour = { variableFourA: 'fourA', variableFourB: 'fourB' }

myObj['variableFour'] = { variableFourA: 'fourA', variableFourB: 'fourB' }


// add key on nested object


myObj.variableOne.variableOneC = 'oneC'

myObj['variableOne']['variableOneC'] = 'oneC'


// you can mix both

myObj['variableOne'].variableOneC = 'oneC'

myObj.variableOne['variableOneC'] = 'oneC'


查看完整回答
反对 回复 2022-01-07
?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

使用此代码:

myObj.variableOne['someValue'] = 'new value';


查看完整回答
反对 回复 2022-01-07
  • 2 回答
  • 0 关注
  • 157 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信