Javascript:将同一项目多次放置在数组中的最简单方法是什么?

标签 javascript arrays

我是一个 Javascript 初学者(或多或少)。

我创建了一个新数组:

var genres = [
    "metal",
    "rockroll",
    "funk",
    "punk",
    "country",
];

但是,我想将每个流派放入数组中特定次数,而不仅仅是一次。我知道我可以根据需要多次重复每一行,但我确信有更好的方法。

如果我能做这样的事情就好了:

var genres = [
    "metal" * 3,
    "rockroll" * 5,
    "funk" * 1,
    "punk" * 0,
    "country" * 4,
];

...当然我已经尝试过了,但它不起作用。

谁能帮帮我?我无法通过谷歌搜索找到任何东西。

谢谢!

最佳答案

如果您从一些保存计数和类别的数据结构开始,则可以使用 reduce() 构建这样的数组:

let cats = [[3, "metal"], [5, "rockroll"], [1, "funk"], [0, "punk"], [4, "country"] ]
 // etc..
let arr = cats.reduce((arr, [n, cat]) => arr.concat(Array(n).fill(cat)), [])

console.log(arr)

关于Javascript:将同一项目多次放置在数组中的最简单方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53604099/

相关文章:

C qsort 不对结构数组进行排序

javascript - 将输入限制为一组字符,同时显示这些字符

javascript - 在不提交的情况下启动浏览器的验证和错误消息

javascript - 测试/检查变量的限制是什么?

arrays - 如何使用另一个向量的值从 numpy 矩阵中选择列

c - 读取数据文件时出现段错误

javascript - ReactJS中已挂载组件的findDOMNode

javascript - 使用第 3 方插件时包裹 child

ios - 持久化 UINib 数组

c++ - 如何将 QVector 作为可选参数传递给 C++ 中的函数?