javascript - 将两个数组合并为一个对象

标签 javascript arrays object

所以我试图将两个数组合并到一个对象中。更具体地说,我正在使用 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/

相关文章:

javascript - Bootstrap : insert accordion after ajax request

javascript - 如何根据子文档两个字段的值查找文档?

javascript - 如何访问作为键值对的对象数组

c++ - 将数组参数传递给主函数索引始于1 c++

javascript - 从数组中获取随机值 - Javascript

javascript - 扩展对象的属性而不覆盖它们

javascript - 如何将对象插入数组?

javascript - AngularJS 显示基于 url/条件的 div

php - 调整数组时循环逻辑出错

javascript - 迭代地添加到 Javascript 中的对象数组