JavaScript数组和对象如何转置?具体而言,我要将以下x
和y
数组/对象转换为新的期望x_new
和y_new
数组/对象。
给定
var x=['x1','x2','x3'];
var y=[
{name:'y1',data:['x1y1','x2y1','x3y1']},
{name:'y2',data:['x1y2','x2y2','x3y2']}
];
console.log(x,y);
Desired
var new_x=[
{name:'x1',data:['x1y1','x1y2']},
{name:'x2',data:['x2y1','x2y2']},
{name:'x3',data:['x3y1','x3y2']}
];
var new_y=['y1','y2'];
console.log(new_x,new_y);
以下是我尝试的内容。
var _x=[],_y=[];
for (var i = 0; i < y.length; i++) {
_y.push(y[i].name);
var data=[];
for (var j = 0; j < y[i].data.length; j++) {
data.push(y[i].data[j]);
}
_x.push({name:y[i].name,data:data});
}
console.log(_x,_y)
y.map(obj => { return obj.data[i])}
,这与y.map(function(obj) => { return obj.data[i])}
相同。 - Ruan Mendes