gpt4 book ai didi

javascript - 下划线基于对象键创建数组

转载 作者:行者123 更新时间:2023-11-29 10:15:46 27 4
gpt4 key购买 nike

假设我有一个像这样的 js 对象

{
a: 5,
b: 1,
c: 3
}

我想使用 Underscore 生成一个类似于以下内容的数组;

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

我可以用下面的代码实现我想要的

var i = {
a: 5,
b: 1,
c: 3
};

unpack = function (i, item) {
var items = [];
_.range(0, i).forEach(function (i) {
items.push(item)
})
return items;
}

console.log(_.flatten(_.map(i, unpack)));

http://jsfiddle.net/VCFZx/但这似乎不是最简洁的方法?

最佳答案

这个怎么样:

var obj = 
{
a :5,
b : 1,
c : 3
};

console.log(
_.flatten(_.map(_.keys(obj), function (key) {
return _.times(obj[key], function() { return key; });
}))
);

http://jsfiddle.net/J6bqb/

请注意,此解决方案是纯功能性的。

这是一个很好的链接版本:

  _.chain(_.keys(obj))
.map(function (key) {
return _.times(obj[key], function() { return key; }); })
.flatten()
.value()

关于javascript - 下划线基于对象键创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22246502/

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