gpt4 book ai didi

javascript - 我可以将变量设置为对象的多部分属性吗?

转载 作者:行者123 更新时间:2023-11-30 15:45:27 25 4
gpt4 key购买 nike

我希望能够设置一个带有变量的对象属性,这种方式让我有时将变量设为多部分,有时设为单部分。下面的代码不起作用,但我认为它说明了我要完成的任务。

var mekBldr = {
mecha: {
rightLimbs: {
legs: {
rightleg01: {
cost: 0,
classification: ''
}
}
},
leftLimbs: {
legs: {
leftleg01: {
cost: 0,
classification: ''
}
}
}
}
};

var part1 = 'leftLimbs';

var part2 = 'legs';

var multi = part1[part2];

// the goal: mekBldr.mecha.leftLimbs.legs.leftleg01.cost = 5;

mekBldr.mecha[multi].leftleg01.cost = 5;

最佳答案

这个怎么样。

Object.prototype.select = function(route) {
var newObj = this;

route.forEach(function(key) {
newObj = newObj[key];
});

return newObj;
};

你可以像这样使用上面的方法。

var mekBldr = {
mecha: {
rightLimbs: {
legs: {
rightleg01: {
cost: 0,
classification: ''
}
}
},
leftLimbs: {
legs: {
leftleg01: {
cost: 0,
classification: ''
}
}
}
}
};

var part1 = 'leftLimbs';
var part2 = 'legs';

var multi = [part1, part2];

mekBldr.mecha.select(multi).leftleg01.cost = 5;

关于javascript - 我可以将变量设置为对象的多部分属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40132691/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com