繁体   English   中英

多维数组和具有属性的对象

[英]Multi-dimensional array and objects with properties

我是Java语言的新手,刚刚开始学习对象和数组。 尝试构建二维产品阵列时,我感到非常困惑。 第一个数组由类别组成。 每个类别都是一系列产品。 每个产品都是产品对象的实例。 喜欢

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>");
        }

      };

但是这种方式是不正确的。 请给我一些有关如何找到正确解决方案的建议!

您可以将javascript对象用作关联数组。

var products = {cars: [], musics: []};
products.cars.push({name: 'Something', year: 2005, ...});
products.musics.push({title: 'Something', artist: 'Someone', ...});
for (var key in products) {
    if (products.hasOwnProperty(key)) { //remove any inherited property
        var items = products[key];
        // do something
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM