javascript - 将数组项添加到数组 X 次

标签 javascript arrays loops

我有一个由 6 个不同单词组成的基本数组,代表游戏元素。只是想知道如何乘以数组中每个单词的实例数。

var gameItem = [cattle, wood, stone, metal, grain, craft];

也就是说,假设我想将每个单词的 10 个实例添加到数组中,我该怎么做?顺序并不重要,因为它会被打乱。

最佳答案

不要忘记,除非您定义了每个变量,否则您的数组将无法工作。但据我了解,这些是单词,而不是变量。所以正确的数组声明是:

var newGameItem = ["cattle", "wood", "stone", "metal", "grain", "craft"]

要重复该数组 10 次,您可以使用 for 循环和数组方法 concat()

var newGameItem = [];
for(var i=0 ; i<10 ; i++) {
    newGameItem = newGameItem.concat(gameItem);
}

> newGameItem : ["cattle", "wood", "stone", "metal", "grain", "craft", "cattle" ... ]

我不知道你对此有何想法,但是,如果你想存储数量这些类型的元素,例如,玩家有 1 头牛、12 block 木头、20 block 石头, ETC ... 您可能应该有一个更好的数据结构,如下所示:

 var gameItem = {"cattle" : 1, "wood" : 12, "stone" : 20, "metal" : 0, "grain" : 0, "craft" : 0 };

因此,通过执行 gameItem.wood,您将得到结果 > 12

关于javascript - 将数组项添加到数组 X 次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14679258/

相关文章:

javascript - 数据没有插入数组nodejs

python - Python 中 Bytearray 和 List 的区别

javascript - XML3D 边界框

javascript - jquery 不会从 html 中删除元素

c - 将argv参数相除并写入数组

javascript - 将数组对象转换为所需格式的对象数组

arrays - Coldfusion:对象数组的奇怪行为

ios - 数组索引超出范围跳过功能

javascript - angular 2 settimeout 这是未定义的

arrays - 以键为数组类型的散列