创建一个javascript对象并在其中填充数据

时间:2017-10-13 12:00:55

标签: javascript object javascript-objects

我想创建一个这样的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]。*

2 个答案:

答案 0 :(得分:3)

如果您希望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;
}

答案 1 :(得分:0)

我认为你会想要一系列汽车对象。您可以使用以下地图执行此操作:

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