gpt4 book ai didi

JavaScript/FP/Reduce : Transforming a string based hierarchy to a nested object

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

(模组请注意:这不是“扁平化/取消扁平化嵌套 JSON 对象的最快方法”的重复,所提出的问题有些不同)

我需要将基于字符串的数据分层表示形式转换为嵌套的 JavaScript 对象表示形式。

我算lodash/collection/reduce这可能会有用。但是,转换/减少这样的格式的最佳方法是什么;

{
"a/b/c": 1,
"a/b/d": 1,
"e/f/g/h": 1,
"e/f/g/i/j": 1
}

像这样的事情?

{ 
"a": {
"b": {
"c": 1,
"d": 1
}
},
"e": {
"f": {
"g": {
"h": 1,
"i": {
"j": 1
}
}
}
}
}

最佳答案

splitreduce使用原生 JavaScript(抱歉,对 lodash 不太熟悉)

var testObject = {
"a/b/c": 1,
"a/b/d": 1,
"e/f/g/h": 1,
"e/f/g/i/j": 1
};

var targetObject = {}

Object.keys(testObject).forEach(function(currentKey) {
var currentValue = testObject[currentKey];
currentKey.split('/').reduce(function(generatedObject, generatedKey, currentIndex, array) {
if (!generatedObject[generatedKey]) {
generatedObject[generatedKey] = {};
}
if (currentIndex == array.length - 1) {
generatedObject[generatedKey] = currentValue;
}
return generatedObject[generatedKey];
}, targetObject);
});

console.log(targetObject);

关于JavaScript/FP/Reduce : Transforming a string based hierarchy to a nested object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34048213/

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