【发布时间】:2021-12-28 11:03:13
【问题描述】:
我有一组对象(汽车),我想从中只显示“竞争”的汽车。
const cars = [
{
name: "red",
competes: true,
category: 1
},
{
name: "blue",
competes: false,
category: 1
},
{
name: "green",
competes: true,
category: 2
},
{
name: "yellow",
competes: true,
category: 3
}
]
但是从那些竞争的汽车中,我只想展示那些属于第一类的汽车,用 for 循环就可以了。
对象现在是静态的,但由于我想在第二个时刻更改它们,我需要一个代码来检查汽车是否竞争,然后检查“类别”中是否有汽车。
- 如果有属于“1 类”的汽车,请列出它们
- 如果“类别”1 中没有汽车,请列出“类别”2(但不是 3)中的汽车
- 等等
我的尝试是在一个循环中使用一个循环,由于它多次显示所有内容,所以有点不起作用
for (let i = 0; i < cars.length; i++) {
if (cars[i].competes === false) continue;
for (let f = 0; f < cars.length; f++) {
if (cars[f].category > 1) break;
console.log(`Cat1: ${cars[f].name}`);
}
}
如果“汽车”中的“类别”属性例如全部为 2 个或更多,如何解决此问题?
const cars = [
{
name: "red",
competes: true,
category: 2
},
{
name: "blue",
competes: false,
category: 2
},
{
name: "green",
competes: true,
category: 3
},
{
name: "yellow",
competes: true,
category: 4
}
]
【问题讨论】:
-
可能先按
category对数据进行排序。
标签: javascript arrays loops sorting if-statement