2 回答
TA贡献1828条经验 获得超4个赞
我们应该能够收集数据,创建一个车辆对象,然后按油耗排序。
然后,我们将在与最高效车辆对应的行旁边显示一个星号。
function getVehicleInfo(vehicleId) {
var vehicle = {};
vehicle.id = vehicleId;
vehicle.registration = prompt("Please enter a 6-character vehicle registration number");
vehicle.tank = (parseFloat(prompt("Please enter the volume of the vehicle's fuel tank in litres")));
vehicle.distance = (parseFloat(prompt("Please enter the distance the vehicle can travel on a full tank of fuel")));
// Fuel consumption is fuel used per kilometre. (Check for divide by zero)
vehicle.consumption = vehicle.distance ? (vehicle.tank / vehicle.distance): null;
return vehicle;
}
function displayVehicleInfo(vehicle) {
rowElement = document.createElement("tr");
rowElement.setAttribute("id", vehicle.id);
tableElement = document.getElementById("vehicle-table");
vehicleHtml = `<td>${vehicle.registration}</td>`
vehicleHtml += `<td>${vehicle.tank}</td>`
vehicleHtml += `<td>${vehicle.distance}</td>`
vehicleHtml += `<td>${vehicle.consumption ? vehicle.consumption.toFixed(2): 'Unknown'}</td>`;
rowElement.innerHTML = vehicleHtml;
tableElement.appendChild(rowElement);
return vehicle;
}
function ShowVehicleData() {
var vehicles = [];
for (var i = 1; i < 5; i++) {
// Create a vehicle object from the user input.
var vehicle = getVehicleInfo(i);
displayVehicleInfo(vehicle);
vehicles.push(vehicle);
}
// Find the most efficient by sorting by fuel consumption.
vehicles.sort((vehicleA, vehicleB) => vehicleA.consumption - vehicleB.consumption);
mostEfficientId = vehicles[0].id;
document.getElementById(mostEfficientId).innerHTML += "<td>*</td>"
}
ShowVehicleData();
<head>
<link rel="stylesheet" href="https://bootswatch.com/4/cerulean/bootstrap.css" crossorigin="anonymous">
</head>
<body>
<table id="vehicle-table" class="table table-striped">
<tr>
<th>Registration Number</th>
<th>Volume of fuel tank (litres)</th>
<th>Distance traveled on full tank (km) </th>
<th>Fuel consumption (litres/Km) </th>
<th>Most efficient</th>
</tr>
</table>
</body>
TA贡献1839条经验 获得超15个赞
您可以在此处阅读有关 javascript 对象的更多信息
var vehicles = [];
function Vehicle() {
var lowestConsumption = Infinity;
var efficient = 0;
for (var i = 1; i < 5; i++) {
var vehicle = {}; //initialize an empty object
vehicle.registration = prompt("Please enter a 6-character vehicle registration number");
document.getElementById("registration" + i).innerHTML = vehicle.registration;
vehicle.tank = prompt("Please enter the volume of the vehicle's fuel tank in litres");
document.getElementById("tank" + i).innerHTML = vehicle.tank;
vehicle.distance = prompt("Please enter the distance the vehicle can travel on a full tank of fuel");
document.getElementById("distance" + i).innerHTML = vehicle.distance;
vehicle.consumption = Number(vihecle.tank) / Number(vehicle.distance); //Number(string) will change the string to a number!
document.getElementById("consumption" + i).innerHTML = vehicle.consumption.toString();
if (vehicle.consumption < lowestConsumption) {
lowestConsumption = vihecle.consumption;
efficient = i;
}
vehicles.push(vehicle);
}
document.getElementById("efficient" + efficient).innerHTML = "*";
}
添加回答
举报