gpt4 book ai didi

javascript - lodash 的所有键的 mapValues

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

我正在尝试以最优雅的方式使用 lodash 来转换以下对象:

var original = {
email: {
0: 'user01@gmail.com',
1: 'user02@gmail.com',
2: 'user03@gmail.com'
},
name: {
0: 'Sam',
1: 'Jack',
2: 'Lucy'
},
last_name: {
0: 'Smith',
1: 'Green',
2: 'Tompson'
}
};

进入这个:

var expected = [
{
email: 'user01@gmail.com',
name: 'Sam',
last_name: 'Smith'
},
{
email: 'user02@gmail.com',
name: 'Jack',
last_name: 'Green'
},
{
email: 'user03@gmail.com',
name: 'Lucy',
last_name: 'Tompson'
}
];

我知道我可以使用 _.mapValues(original, index); 其中 index0, 12,但我需要一个包含所有 mapValues 的数组。

original 中的键是可变的(有时有 3 个,有时有 2 个,有时有 6 个),索引的数量也是如此。我找到了一些解决方案,但它们似乎都太复杂了。我觉得有一种优雅的方式可以使用一些 lodash 的方法来做到这一点。任何帮助将不胜感激。

最佳答案

这个怎么样:

// _.size(_.values(original)[0]) - amount of rows (3 in that case)
var expected = _.times(_.size(_.values(original)[0]), function (index) {
return _.mapValues(original, index);
});

编辑:一行

var expected = _.times(_.size(_.values(original)[0]), _.mapValues.bind(_, original));

关于javascript - lodash 的所有键的 mapValues,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35208605/

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