我正在尝试获取两个对象数组的所有组合的列表。
我有两个 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/