gpt4 book ai didi

JavaScript 设置路径指向的 JSON 元素

转载 作者:行者123 更新时间:2023-11-30 07:52:53 25 4
gpt4 key购买 nike

我想要一个函数来修改我的 JSON 对象中的值。该值由路径指定,如本例所示:

setConfigItem(['node1','nodeA','value1A'], 1234);

目前我正在使用以下功能:

var setConfigItem = function(path, value) {
if (path.length == 1)
config[path[0]] = value;
if (path.length == 2)
config[path[0]][path[1]] = value;
if (path.length == 3)
config[path[0]][path[1]][path[2]] = value;

// ...

throw {name : "NotImplementedError", message : "too lazy to implement more"};
}

什么是更好的通用解决方案?

最佳答案

简单的递归解决方案

var config = {node1: {nodeA: {value1A: 0}}};

function setConfigItem(config, path, value) {
if (path.length == 1) {
config[path[0]] = value;
} else {
setConfigItem(config[path[0]], path.slice(1), value);
}
}

setConfigItem(config, ['node1','nodeA','value1A'], 1234);

console.log(config);

关于JavaScript 设置路径指向的 JSON 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48473499/

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