我有两个对象,我需要创建一个具有新结构的新数组,例如:这些是我的对象:
对象1:{“问题”:“气候变化”,“总计”:“3.456”}
对象2:{“问题”:“气候变化”,“总计”:“3.567”}
我需要这个输出
{ "x":3.456,"y":3.567 }
我试着用其中一个数组创建我需要的数组.因此,我使用第一个数组拥有:{y:3.456}并且它工作,现在我需要添加x键和来自第二个数组的值,所以我尝试这样做:
其中chardatavalue是数组之一(其中包含"y“键和值),而arrayforxls2是另一个数组,但我所拥有的代码只将第二个数组的最后一个值分配给所有"x”键。
var resultnew = chartdatavalue.map(function (el) {
var o = Object.assign({}, el);
for (let i of arrayforxls2) {
o.x = i.Total;
}
return o;
});图表雪崩具有这样的结构:
[{
y: '3.893'
}]arrayxls2具有这样的结构:
[{
"Question":"Climate change",
"Total":"3.567"
}]我需要这个输出:
{ "x":3.567,"y":3.893 }你能帮帮我吗?
发布于 2021-12-08 21:23:53
就像这样:
var resultnew = chartdatavalue.map((el, i) => ({x: el.Total, y: arrayforxls2[i].Total}));这将迭代其中一个数组,并使用索引i从另一个数组中的对应对象中获取值。
使用Object.assign()没有意义,因为结果对象不包括输入对象的任何属性名称。
https://stackoverflow.com/questions/70281444
复制相似问题