4 回答
TA贡献1816条经验 获得超4个赞
const x1 = ['US', 'UK', 'China'];
const y1 = [1, 2, 3];
const name1 = 'CO2';
const x2 = ['US', 'UK', 'China'];
const y2 = [4, 5, 6];
const name2 = 'GHG';
const result = x1.map((country, index) => ({
country,
[name1]: y1[index],
[name2]: y2[index]
}));
console.log(result);
TA贡献1785条经验 获得超4个赞
let x1=["US","UK","China"],y1=[1,2,3],name1="CO2",x2=["US","UK","China"],y2=[4,5,6],name2="GHG";
let result = x1.map((e,idx) => ({country:x1[idx],co2:y1[idx],GHG:y2[idx]}))
console.log(result)
TA贡献1831条经验 获得超4个赞
您可以像下面这样执行此操作(注意:不需要变量 x2)-
function createObj(x1,y1,y2, name1, name2){
var obj1={},
obj2={},
obj3={};
var result=[obj1, obj2, obj3];
result.forEach((obj, i)=>{
obj.country=x1[i];
obj[name1]=y1[i];
obj[name2]=y2[i];
})
return result;
}
在您的代码中,您仅获得最后一个值,因为每次在 foreach 循环内您都会覆盖对象的值
TA贡献1798条经验 获得超3个赞
我认为你可以尝试这样的事情,基本上,我们通过 x1 并用相应的数据构建结果。
var result = {}
for(i = 0; i < x1.length; i++) {
result[i] = {}
result[i]["country"] = x1[i]
result[i][name1] = y1[i]
result[i][name2] = y2[i]
}
console.log(result)
添加回答
举报