我有一个对象,其中的值是整数。就像是: {猫:2,狗:1,鸟:4}
我想创建一个数组,其中对象中的键包含在数组中的次数与值相同。所以,在这个例子中: [“猫”、“猫”、“狗”、“鸟”、“鸟”、“鸟”、“鸟”]
键总是相同的,但值可能为零。
我可以看到一种方法 - 对于每个键,我都可以检索值,然后将单词推送到数组中该次数。但这需要为我的每个键编写几行代码(其中的代码比本例中的要多得多)。我试过寻找更清洁的解决方案,但没有成功。有什么建议吗?
最佳答案
演示:https://jsfiddle.net/81LxL1qt/1/
var obj = {cat: 2, dog: 1, bird: 4};
var results = [];
for (var key in obj)
for (var i = 0, count = obj[key]; i < count; i++)
results.push(key);
console.log(results);
关于javascript - 基于对象创建数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37493254/