数据转换,提取数组中对象的数据,组成新对象构成的数组

img


上面的转成下面的, x,y,z是自己取的,除了直接push({x:a[0].a,y:a[1].a,z:a[2].a}) 这种,有什么遍历的方法??

可以使用forEach方法遍历,再push到里面。

你题目的解答代码如下:

var arr1 = [{a:100,b:90,c:80},{a:50,b:40,c:30},{a:20,b:10,c:0.1}];
var arr2 = [];
var key1 = Object.keys(arr1[0]);
var key2 = ["x","y","z"];
key1.forEach(function(k,i){
    var obj = {};
    key2.forEach(function(m,j){
        obj[m] = arr1[j][k];
    });
    arr2.push(obj);
});
console.log(arr2);

如有帮助,望采纳!谢谢!

img