我正在尝试显示与用户请求相对应的阵列*在这种情况下,这将是显示具有相应品牌的所有汽车阵列并进行打印。 (共有11个汽车阵列,分别命名为car1,car2等。
这是我的代码块:
var car1 = new Car("Toyota", "Camry", "Gold", "2006", "RT14-W32", true);
var car2 = new Car("Hyundai", "Elantra", "Silver", "2012", "CRTW-34S", (false);
var car3 = new Car("Honda", "Civic", "Grey", "2010", "SASY-232", false);
var car4 = new Car("Toyota", "Corolla", "Blue", "2009", "BARF-343", (true);
var car5 = new Car("Tesla", "Model S", "Black", "2019", "COOL-CAR", true);
var car6 = new Car("Mercedes", "B-Class", "Black", "2018", "RICH-999", true);
var car7 = new Car("Toyota", "Rav4","Red", "2014", "DART-565", false);
var car8 = new Car("Hyundai", "SantaFe", "Silver", "2016", "WDYO-227", false);
var car9 = new Car("Hyundai", "Accent", "White", "2014", "QRT-411", true);
var car10 = new Car("Honda", "Accord","Red", "2017", "VTTY-233", false);
console.log(car4);
function filterByMake()
{
var inputFilter = document.getElementById("tbFilter").value;
for( x = 0; x < 11; x++)
{
if (car[x].inputFilter == car[x].make)
{
document.getElementById("Output").innerHTML += car[x].year + " " + car[x].color + " " + car[x].make + " " + car[x].model +" " + " " + car[x].license + "<br/> Car available for sale? " + car[x].forSale;
}
}
}
控制台说未定义汽车,我应该串联计数器和数组吗?不确定if语句中该如何工作
有什么想法? 任何提示或更正,不胜感激答案 0 :(得分:0)
可能您是说window['car' + x]
太疯狂了!
您应按以下步骤创建对象数组:
var cars = [new Car("Toyota", "Camry", "Gold", "2006", "RT14-W32", true),
new Car("Hyundai", "Elantra", "Silver", "2012", "CRTW-34S", (false),
new Car("Honda", "Civic", "Grey", "2010", "SASY-232", false),
new Car("Toyota", "Corolla", "Blue", "2009", "BARF-343", (true),
new Car("Tesla", "Model S", "Black", "2019", "COOL-CAR", true),
new Car("Mercedes", "B-Class", "Black", "2018", "RICH-999", true),
new Car("Toyota", "Rav4", "Red", "2014", "DART-565", false),
new Car("Hyundai", "SantaFe", "Silver", "2016", "WDYO-227", false),
new Car("Hyundai", "Accent", "White", "2014", "QRT-411", true),
new Car("Honda", "Accord", "Red", "2017", "VTTY-233", false)
];
console.log(car4);
function filterByMake() {
var inputFilter = document.getElementById("tbFilter").value;
for (x = 0; x < cars.length; x++) {
if (inputFilter === cars[x].make) {
document.getElementById("Output").innerHTML += cars[x].year + " " + cars[x].color + " " + cars[x].make + " " + cars[x].model + " " + " " + cars[x].license + "<br/> Car available for sale? " + cars[x].forSale;
}
}
您的方法是找到汽车,因此可以使用功能find
var cars = [new Car("Toyota", "Camry", "Gold", "2006", "RT14-W32", true),
new Car("Hyundai", "Elantra", "Silver", "2012", "CRTW-34S", (false),
new Car("Honda", "Civic", "Grey", "2010", "SASY-232", false),
new Car("Toyota", "Corolla", "Blue", "2009", "BARF-343", (true),
new Car("Tesla", "Model S", "Black", "2019", "COOL-CAR", true),
new Car("Mercedes", "B-Class", "Black", "2018", "RICH-999", true),
new Car("Toyota", "Rav4", "Red", "2014", "DART-565", false),
new Car("Hyundai", "SantaFe", "Silver", "2016", "WDYO-227", false),
new Car("Hyundai", "Accent", "White", "2014", "QRT-411", true),
new Car("Honda", "Accord", "Red", "2017", "VTTY-233", false)
];
console.log(car4);
function filterByMake() {
var inputFilter = document.getElementById("tbFilter").value;
var found cars.find(function(c) {
return inputFilter === c.make;
});
if (found) {
document.getElementById("Output").innerHTML += cars[x].year + " " + cars[x].color + " " + cars[x].make + " " + cars[x].model + " " + " " + cars[x].license + "<br/> Car available for sale? " + cars[x].forSale;
}
}