【问题标题】:Create a javascript object and fill data in it创建一个 javascript 对象并在其中填充数据
【发布时间】:2017-10-13 12:00:55
【问题描述】:

我想创建一个这样的 Javascript 对象:

var CarList = {};

然后用这样的for循环(数据取自MySql数据库)填充它。

for(var i = 0; i < result.length; i++)
{
     CarList.Constructeur = result[i].Constructeur;
     CarList.Modele = result[i].Modele;
     CarList.Couleur = result[i].Couleur;
     CarList.Immat = result[i].Immat;
     CarList.VIN = result[i].VIN;
     CarList.DMC = result[i].Date_Mise_en_circulation;
     CarList.Enregistrement = result[i].Date_enregistrement;
}

问题是只有数据库的最后一辆车在显示。我在某处缺少 [i]。它只创建一个汽车孩子,并没有我的数据库那么多。

我该如何解决它。

我已经尝试过 CarList[i] 、 Carlist.[i].* 和 、 Carlist.car[i].*

【问题讨论】:

  • 您正在覆盖每个分配的值。

标签: javascript object javascript-objects


【解决方案1】:

如果您希望 CarList 是一个数组,请使用方括号而不是大括号对其进行初始化。您还需要在该数组中的每个位置创建一个新对象。

var CarList = [];

for(var i = 0; i < result.length; i++)
{
    // Create a new object
    CarList[i] = {};
    CarList[i].Constructeur = result[i].Constructeur;
    CarList[i].Modele = result[i].Modele;
    CarList[i].Couleur = result[i].Couleur;
    CarList[i].Immat = result[i].Immat;
    CarList[i].VIN = result[i].VIN;
    CarList[i].DMC = result[i].Date_Mise_en_circulation;
    CarList[i].Enregistrement = result[i].Date_enregistrement;
}

【讨论】:

  • 这种方式很好用。但现在我有一个对象数组。我如何将这个数组发送到 EJS 模板中(对不起,如果它超出范围)
  • www.embeddedjs.com 的首页有一个使用数组的例子。这就是你要找的吗?
【解决方案2】:

我认为您将需要一个汽车对象数组。你可以用这样的地图来做到这一点:

let carList = result.map(car => {
 return {
        Constructeur,
        Modele,
        Couleur,
        Immat,
        VIN,
        DMC: car.Date_Mise_en_circulation,
        Enregistrement: car.Date_enregistrement
     }
})

或遵循您当前的编码模式并使用 arr.push()

let carList = [];
for(var i = 0; i < result.length; i++)
{
carList.push({
  Constructeur: result[i].Constructeur;
  Modele: result[i].Modele;
  Couleur: result[i].Couleur;
  Immat: result[i].Immat;
  VIN: result[i].VIN;
  DMC: result[i].Date_Mise_en_circulation;
  Enregistrement: result[i].Date_enregistrement;
 })
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-03-14
    • 1970-01-01
    • 2012-07-31
    • 2015-01-09
    • 2012-09-05
    • 2020-06-26
    • 1970-01-01
    相关资源
    最近更新 更多