Javascript 如何通过对象属性的引用进行赋值
如何通过引用指定对象属性。我的对象如下所示:Javascript 如何通过对象属性的引用进行赋值,javascript,Javascript,如何通过引用指定对象属性。我的对象如下所示: obj = { level: { level: { level: {} } } } var obj = { level: { level: { level: {} } } }; do { var level = obj.level; } while(Object.keys(level).lengt
obj = {
level: {
level: {
level: {}
}
}
}
var obj = {
level: {
level: {
level: {}
}
}
};
do {
var level = obj.level;
} while(Object.keys(level).length != 0);
level = {
newPro: 'Some value'
}
我的代码是这样的:
obj = {
level: {
level: {
level: {}
}
}
}
var obj = {
level: {
level: {
level: {}
}
}
};
do {
var level = obj.level;
} while(Object.keys(level).length != 0);
level = {
newPro: 'Some value'
}
但最后一级属性中的任何更改
预期产出:
{
level: {
level: {
level: {
newPro: 'Some value'
}
}
}
}
您可以测试下一个
级别是否存在
如果存在,将级别的值作为temp
的新值,用于新的while
循环
如果没有,请将新特性指定给临时对象
var object={level:{level:{level:{}},
温度=对象;
while(温度等级){
温度=温度水平;
}
temp.newPro=‘某些值’;
console.log(对象)代码>您的逻辑执行while
while(Object.keys(level).length != 0)
由于level
始终是obj.level
且从不更改,因此卡在一个无限循环中
你就快到了,只是
- 保留一个临时对象
- 将值指定给其属性(
newPro
)而不是直接指定值
var obj={
级别:{
级别:{
级别:{}
}
}
};
var-temp=obj;
while(对象键(临时).length>0){
温度=温度水平;
}
temp.newPro='Some value'
控制台日志(obj)代码>预期的输出是什么?您试图实现什么?