【发布时间】:2020-02-10 05:19:55
【问题描述】:
我想创建一个值从 1 到 13 的数组,四次。这个最终数组应该有 52 个位置,并且是这样的:
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10、11、12、13]
我已经创建了一个从 1 到 13 的数组
let suit = Array.from(new Array(13), (x, index) => index + 1)
并且想要将这个“花色”数组上的四倍值推入一个名为“deck”的最终数组。
为此,我尝试了以下代码:
let suit = Array.from(new Array(13), (x, index) => index + 1)
let suitsNumber = 4
let deck = []
for(let i = 0; i < suitsNumber; i++ ) {
deck.push(suit)
}
问题是生成的数组“deck”是一个长度为 4 的二维数组,每个位置都是数组套装:
[[1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [1, 2, 3, 4, 5, 6, 7, 8, 9 , 10, 11, 12, 13],[ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13], [1, 2, 3, 4, 5, 6 , 7, 8, 9, 10, 11, 12, 13]]
有人能告诉我为什么没有按预期工作吗?
【问题讨论】:
-
deck.push(...suit)代替。
标签: javascript arrays