所以我试图将两个数组合并到一个对象中。更具体地说,我正在使用 JavaScript 创建一副纸牌。我已经创建了两个数组(如下所示),并正在寻求一些有关如何合并它们的帮助,以便新对象的格式如下 {suit: 'hearts', value: 'A'}。我相信我需要做一个 for 循环,但无法使其工作。大家有什么建议吗?
//...尝试合并这里的两个数组...
function deck_o_cards() {
var values = [2, 3, 4, 5, 6, 7, 8, 9, 10, 'J', 'Q', 'K', 'A'];
var suits = ['hearts', 'diamonds', 'clubs', 'spades'];
var cards = [ ];
for(i=0, i< suits.length, i++){
var newSuit = suits[i];
for(a=0; a< values.length, a++) {
var newValue= values[a];
newArray=[newSuit, newValue];
cards.push(newArray);
}
}
}
最佳答案
您需要使用循环迭代值数组,然后在每次迭代中还循环迭代西装数组。您将需要两个不同的索引来创建 nested loops工作。
数组的索引为零,因此索引将从零开始,并在索引达到 length of the array 时停止。 .
这是一个嵌套循环的示例,但您应该使用数组长度属性,而不是 13 和 4。
for(var i = 0; i < 13; i++) {
for(var j = 0; i < 4; i++) {
...
}
}
在内循环中,您可以使用单独的索引使用每个数组中的值创建卡片对象,并将其分配给 cards[cards.length] = { }
将其添加到卡片数组中它将一个新项目添加到数组的末尾。
您还可以使用 Array.map() 完成同样的事情和 Array.push()函数来代替循环和赋值操作。
关于javascript - 将两个数组合并为一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30041848/