Я очень новичок в Javascript и только начал изучать объекты и массивы. Я очень смутился, пытаясь построить двумерный массив продуктов. Первый массив состоит из категорий. Каждая категория представляет собой набор продуктов. Каждый продукт является экземпляром объекта продукта. КакМногомерный массив и объекты со свойствами
for car: Honda, Toyota, Ford, etc.
a Honda can consist of :
Civic, 1997, VIN#123435678, 30000 miles, good condition, $12000, etc.
Accord, 1990, VIN#203948574, 100000 miles, good and running, $1000, etc.
So an instance of a car can be a Honda. And Honda can be an array of Accord, Civic, etc
Что я создаю это:
var salsa1 = new Product("Salsa", "Victor Manuelle", "2013", "17.00");
var salsa2 = new Product("Salsa", "Grupo Niche", "2012", "15.00");
var salsa = new Array();
salsa.push(salsa1);
salsa.push(salsa2);
var bachata1 = new Product("Bachata", "Romeo Santos", "2011", "15.00");
var bachata2 = new Product("Bachata", "Joan Soriano", "2013", "18.50");
var bachata = new Array();
bachata.push(bachata1);
bachata.push(bachata2);
var products = new Array();
var count = products.push(salsa);
count = products.push(bachata);
document.write("<table border='0'><tr><th>Type of Music</th><th>Artist Name</th><th>Year of release</th><th>Price for CD</th></tr>");
for (var i=0; i<count; i++)
{
document.write("<tr>");
document.write("<td>" + products[i][0].type + "</td>");
for (var j=0; j<products[i].length; j++)
{
products[i][j].showProduct();
document.write("</tr><td></td>");
}
};
Но этот путь не является правильным. Пожалуйста, дайте мне несколько советов по правильному пути решения!
Это более эффективно (и проще для HTML двигателя), если построить одну строку HTML и записать его в один присест (то есть один 'document.write' вызов), в противном случае он должен иметь дело с недействительным HTML по пути. Таблица ** должна иметь закрытый тег (они могут быть опущены для TR и TD). Открытие тэга TD не может сразу следовать за закрывающим тегом TR, он должен следовать за открытием TR. – RobG