【问题标题】:How do I rprint an array holding data that corresponds to user inputted data?如何打印包含与用户输入数据相对应的数据的数组?
【发布时间】:2019-03-22 00:33:20
【问题描述】:

我正在尝试显示与用户请求相对应的数组 *在这种情况下,它将显示所有具有相应品牌的汽车数组并打印出来。 (有 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;
            }
    }

}

控制台说 car 没有定义,我应该连接计数器和数组吗?不确定在 if 语句中如何工作,

想法? 任何提示或更正表示赞赏

【问题讨论】:

  • 你的Car构造函数是什么?

标签: javascript html arrays object for-loop


【解决方案1】:

您的意思可能是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;
  }
}

【讨论】:

    猜你喜欢
    • 2019-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-26
    • 2020-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多