gpt4 book ai didi

javascript - JavaScript 对象的动态深度设置

转载 作者:行者123 更新时间:2023-12-03 02:15:21 27 4
gpt4 key购买 nike

给定对象属性路径的字符串,如何动态设置此属性。

给定这个示例对象:

var obj = {
a: {
b: [ { c: 'Before' } ]
}
};

它应该能够使用如下辅助函数设置值:

setToValue(obj, 'After', 'a.b.0.c');

我用下面的代码尝试了它。但如果变量不是引用,则父级是副本。

function setToValue(obj, value, path) {
var arrPath = path.split('.'),
parent = obj;

for (var i = 0, max = arrPath.length; i < max; i++) {
parent = parent[arrPath[i]];
}

parent = value;
}

最佳答案

a) 简单的 a.b[0].c = 'After' 有什么问题吗?

至于方法:

function setToValue(obj, value, path) {
var i;
path = path.split('.');
for (i = 0; i < path.length - 1; i++)
obj = obj[path[i]];

obj[path[i]] = value;
}

这里是 JSFiddle:http://jsfiddle.net/QycBz/24/

关于javascript - JavaScript 对象的动态深度设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6842795/

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