javascript: 将数组一一插入对象

javascript: Inserting Arrays into object one by one

我需要将位置、商品等数组插入到一个对象中,在本例中是 refdata。我需要将数组插入对象 一个一个 ..正如我在下面的代码中所做的那样:-

但我没有得到想要的output.Any帮助将不胜感激。

var refdata = {
    locations: [],
    commodities: []

}

var locations=[
    {
      "symbol": "IND",
      "name": "INDIA"
    }
  ]

 var commodities= [
    {
      "name": "Aluminium",
      "symbol": "AL"
    }
  ]
this.refdata={locations};
this.refdta={commodities};

console.log(this.refdata)

您可以 push refdatalocations

的 0 个元素

var refdata = {
  locations: [],
  commodities: []

}

var locations = [{
  "symbol": "IND",
  "name": "INDIA"
}]

var commodities = [{
  "name": "Aluminium",
  "symbol": "AL"
}]


refdata.locations.push(locations[0]);
refdata.commodities.push(commodities[0]);

console.log(refdata);


或者直接赋值以覆盖值。

var refdata = {
  locations: [],
  commodities: []

}

var locations = [{
  "symbol": "IND",
  "name": "INDIA"
}]

var commodities = [{
  "name": "Aluminium",
  "symbol": "AL"
}]


refdata.locations = locations;
refdata.commodities = commodities;

console.log(refdata);

在 ES6 中,您可以在这种情况下使用 shorthand 语法:

let locations = [{
  "symbol": "IND",
  "name": "INDIA"
}]

let commodities = [{
  "name": "Aluminium",
  "symbol": "AL"
}]

let refdata = { locations, commodities }

console.log(refdata)

let refdata = { locations, commodities }

的缩写
let refdata = { locations: locations, commodities: commodities }

如果你需要按照你的问题中描述的那样一一进行,你可以使用Object.assign():

let refdata = {}

let locations = [{
  "symbol": "IND",
  "name": "INDIA"
}]

refdata = Object.assign(refdata, { locations })

let commodities = [{
  "name": "Aluminium",
  "symbol": "AL"
}]

refdata = Object.assign(refdata, { commodities })

console.log(refdata)

提示:我添加这个答案是因为您标记了您的问题

因为你想将项目一个一个地插入到 refdata 位置数组中。我想您想对每个项目进行一些操作。如果是这样,下面的代码将是合适的。

var refdata = {
    locations: [],
    commodities: []
};

var locations=[
    {
      "symbol": "IND",
      "name": "INDIA"
    }
  ];

 var commodities= [
    {
      "name": "Aluminium",
      "symbol": "AL"
    }
  ];
  
 for (loc of locations) {
    // Do your object manipulation of loc if required
    console.log(loc);
    refdata.locations.push(loc);
 };
 for (commodity of commodities) {
    // Do your object manipulation of commodity if required
    console.log(commodity);
    refdata.commodities.push(commodity);
 };
 
console.log(refdata);