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
refdata
和 locations
的 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)
提示:我添加这个答案是因为您标记了您的问题 ecmascript-6。
因为你想将项目一个一个地插入到 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);
我需要将位置、商品等数组插入到一个对象中,在本例中是 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
refdata
和 locations
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)
提示:我添加这个答案是因为您标记了您的问题 ecmascript-6。
因为你想将项目一个一个地插入到 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);