gpt4 book ai didi

javascript - 如何从像 'a.b.c.d' 这样的文本字符串在 javascript 中创建动态嵌套对象?

转载 作者:行者123 更新时间:2023-11-30 11:35:39 24 4
gpt4 key购买 nike

我需要从类似“a.b.c.d”的字符串中动态创建一个具有嵌套对象的对象,结果如下:

/*
var a = {
b: {
c: {
d: {}
}
}
};

//or:
var result = {
a: {
b: {
c: {
d: {}
}
}
}
}*/

目前我无法使用以下脚本嵌套对象。

怎么了?你能给我一个解决方案吗?谢谢!

var options = 'a.b.c.d';
var parts = options.split('.');
var obj = {};
var addNestedProp = function(obj, prop) {
obj[prop] = {};
};
parts.forEach(function(part) {
addNestedProp(obj, part);
}, this);

console.log(obj);


/*
result wanted:
var a = {
b: {
c: {
d: {}
}
}
};

or:
var result = {
a: {
b: {
c: {
d: {}
}
}
}
}*/

最佳答案

使用 Array.prototype.reduce() 函数的简短解决方案:

var options = 'a.b.c.d',
result = {};

options.split('.').reduce(function(r, a){
return (r[a] = {});
}, result);

console.log(result);

关于javascript - 如何从像 'a.b.c.d' 这样的文本字符串在 javascript 中创建动态嵌套对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44539910/

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