因此,分配的任务是根据车辆类型分配停车位。如果是2轮摩托车车位,4轮车-紧凑型和大车位,客车-5大点
我需要一个优化的方法来得到一个可用的停车位。slot.occupied == false和--我希望避免多个for循环,因为数据会增加,并且会有多个级别。
"levelNo":"1",
"row":{[
"rowNo":"1",
"slots":[{
"slotNo":1,
"slotType":"Motorcycle",
"occupied":false
},
{
"slotNo":2,
"slotType":"Motorcycle",
"occupied":false
},
{
"slotNo":3,
"slotType":"Motorcycle",
"occupied":false
},{
"slotNo":4,
"slotType":"Compact",
"occupied":false
},{
"slotNo":5,
"slotType":"Compact",
"occupied":false
},{
"slotNo":6,
"slotType":"Compact",
"occupied":false
},
{
"slotNo":7,
"slotType":"Large",
"occupied":false
},
{
"slotNo":8,
"slotType":"Large",
"occupied":false
}]
},
{
"rowNo":"2",
"slots":[{
"slotNo":1,
"slotType":"Motorcycle",
"occupied":false
},
{
"slotNo":2,
"slotType":"Motorcycle",
"occupied":false
},
{
"slotNo":3,
"slotType":"Motorcycle",
"occupied":false
},{
"slotNo":4,
"slotType":"Compact",
"occupied":false
},{
"slotNo":5,
"slotType":"Compact",
"occupied":false
},{
"slotNo":6,
"slotType":"Compact",
"occupied":false
},
{
"slotNo":7,
"slotType":"Large",
"occupied":false
},
{
"slotNo":8,
"slotType":"Large",
"occupied":false
}]
}]
}
模型(模式)-请提出更好的方法来存储这样的数据
levelNo:{
type:String,
required:true,
},
row:[{
rowNo:{
type:String,
required:true,
},
slots:[
{
slotNo:{
type:Number,
required:true,
},
slotType:{
type:String,
enum:['Motorcycle','Compact','Large']
},
occupied:{
type:Boolean,
required:true,
},
currentVehicle:{
type:String,
}
}],
}],
totalrows:{
type:Number,
required:true
},
levelIsFull:{
type:Boolean,
default:false,
}
})
发布于 2020-05-13 04:19:34
也许你可以用一个变量来存储寻找停车位的车辆类型。然后,您将只需要一个for循环,将搜索相应的停车位,也没有被占用。你不需要循环每一层,循环通过所有的停车位,当你发现它显示的位置号码和水平,它是在。
而不是存储每个级别的数据。只制作一个停车位模型,并在其中显示它所处的水平。所以这个模型看起来应该是:
spotNumber: {
occupied: false,
type: "large",
level: 1
}
希望这能有所帮助
https://stackoverflow.com/questions/61765966
复制相似问题