Как распечатать массив, содержащий данные, которые соответствуют введенным пользователем данным? - PullRequest
1 голос
/ 22 марта 2019

Я пытаюсь отобразить массив, соответствующий запросу пользователя *, в этом случае он будет отображать все автомобильные массивы, которые имеют соответствующую марку, и распечатать ее. (есть 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,

мысли? Любые советы или исправления приветствуются

1 Ответ

0 голосов
/ 22 марта 2019

Возможно, вы имели в виду 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;
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...