javascript - 如何使用 Javascript 获取多个对象数组的每种组合

标签 javascript arrays

我正在尝试获取两个对象数组的所有组合的列表。

我有两个 json 文件:

水果

[
  {
    "food": "Apple",
    "calories": 100
  }
],
[
  {
    "food": "Orange",
    "calories": 150
  }
]

[
  {
    "food": "Chicken",
    "calories": 175
  }
],
[
  {
    "food": "Steak",
    "calories": 200
  }
]

我想输出数组中对象的所有组合:

苹果100 鸡肉175

苹果100 牛排200

橙色 150 鸡肉175

橙色 150 牛排200

我有一个愚蠢的简单 for 循环:

 for(let i = 0; i < Fruits.length; i++) {
  for(var j = 0; j < Meat.length; j++)
    {
       combos.push(Fruits[i] + Meat[j])
    }
  };

这最终给了我:

[
  '[object Object][object Object]',
  '[object Object][object Object]',
  '[object Object][object Object]',
  '[object Object][object Object]'
]

如果我制作 map ,我会更了解它

combos.map(combo=> {console.log(combo)})

得到

[object Object][object Object]
[object Object][object Object]
[object Object][object Object]
[object Object][object Object]

但我不确定如何获取这些对象,或者即使它们是在那里定义的。

感谢您的阅读!

编辑:通过添加更多索引和括号,我能够得到我需要的东西:

for(let i = 0; i < this.arrBreakfasts.length; i++) {
  for(var j = 0; j < this.arrLunches.length; j++){
      this.combos.push([this.arrBreakfasts[i][0], this.arrLunches[j][0]]);
  }
};

谢谢!!

最佳答案

你应该这样做:

for(let i = 0; i < Fruits.length; i++) {
  for(var j = 0; j < Meat.length; j++)
    {
       combos.push([Fruits[i], Meat[j]])
    }
  };

您正在做的是尝试对对象进行数学运算。

关于javascript - 如何使用 Javascript 获取多个对象数组的每种组合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63093519/

相关文章:

Javascript 数组使用索引合并

javascript - 通过javascript将base64字符串转换为字节数组

javascript, ajax - 通过 ajax 通过 API 调用更新 HTML 页面

javascript - 与 CSS/Javascript 成直 Angular ?

javascript - 使用 JavaScript 提取标题的同源策略

javascript - 使用jquery在表中自动计算

javascript - 为什么 javascript 报告 Motorola Atrix MB860 4G 的宽度为 800px?不应该是540px吗

java - 在 ByteArray 中查找字节序列

c - 尝试将指针索引到函数中的指针时出现段错误

java - 在java中创建一个数组,其中值随机排序