gpt4 book ai didi

来自字符串的 Javascript 嵌套对象

转载 作者:数据小太阳 更新时间:2023-10-29 04:29:19 24 4
gpt4 key购买 nike

我有一个空对象和一个字符串:

var obj = {};
var str = "a.b.c";

有什么办法可以把它变成

obj = { a: { b: { c: { } } } }

我不能完全理解这个问题,我什至不确定它是否可行。

最佳答案

var obj = {};
var str = "a.b.c";
var arr = str.split('.');
var tmp = obj;

for (var i=0,n=arr.length; i<n; i++){
tmp[arr[i]]={};
tmp = tmp[arr[i]];
}

ES6:

let str = "a.b.c",
arr = str.split('.'),
obj, o = obj = {};

arr.forEach(key=>{o=o[key]={}});

console.log(obj);

ES6/Reduced(不需要数组存储):

let str = "a.b.c", obj, o = obj = {};

str.split('.').forEach(key=>o=o[key]={});

console.log(obj);

ES6/Array.prototype.reduce:

let str = "a.b.c", last;

let obj = str.split('.').reduce((o, val) => {
if (typeof last == 'object')
last = last[val] = {};
else
last = o[val] = {};

return o;
}, {});

console.log(obj);

关于来自字符串的 Javascript 嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7640727/

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