gpt4 book ai didi

javascript - 使用 Lodash 将数组转换为嵌套对象,这可能吗?

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

我有一个数组:

["a", "b", "c", "d"]

我需要将它转换为一个对象,但格式如下:

a: {
b: {
c: {
d: 'some value'
}
}
}

if var common = ["a", "b", "c", "d"], 我试过:

var objTest = _.indexBy(common, function(key) { 
return key;
}
);

但这只会导致:

[object Object] {
a: "a",
b: "b",
c: "c",
d: "d"
}

最佳答案

由于您要从数组中寻找单个对象,因此使用 _.reduce_.reduceRight 是完成这项工作的理想选择。让我们探讨一下。

在这种情况下,很难从左到右工作,因为它需要递归才能到达最里面的对象,然后再次向外工作。那么让我们试试 _.reduceRight:

var common = ["a", "b", "c", "d"];
var innerValue = "some value";

_.reduceRight(common, function (memo, arrayValue) {
// Construct the object to be returned.
var obj = {};

// Set the new key (arrayValue being the key name) and value (the object so far, memo):
obj[arrayValue] = memo;

// Return the newly-built object.
return obj;
}, innerValue);

Here's a JSFiddle证明这是可行的。

关于javascript - 使用 Lodash 将数组转换为嵌套对象,这可能吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26414172/

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