小明有一个这样的数组[{a:1,b:2},{a:1,b:2}]。他想把他转换成[{a:[1,1],b:[2,2]}] ,各位小伙伴有知道吗?
虽然有些麻烦
let arr = [{ a: 1, b: 2 }, { a: 1, b: 5, c: 5 }];
let v = [{}];
arr.map((item) => {
for (key in item) {
v[0][key]=[];
}
});
arr.map((item)=>{
for (key in item) {
for(vkey in v[0]){
if(vkey==key){
v[0][key].push(item[key]);
}
}
}
})
console.log(v)
let arr = [{a:1,b:2},{a:1,b:2}]
function test(arr){
let arr1 = []
let obj = {}
arr.forEach(v=>{
obj = {...v}
})
for(let k in obj){
obj[k] = []
}
arr.forEach(v=>{
for(let i in v){
for(let key in obj){
if(i === key){
obj[key].push(v[i])
}
}
}
})
arr1.push(obj)
return arr1
}
有点麻烦,你看看怎么样
let arr = [
{ a: 1, b: 2 },
{ a: 1, b: 2, c: 3 },
{ a: 1, b: 2, c: 3, d: 4 },
{ a: 1, b: 2, c: 3, d: 4, e: 5 },
];
let obj = {};
let result=[];
arr.forEach((item) => {
Object.keys(item).map((item2, index2) => {
obj[item2] = [];
});
});
arr.forEach((item) => {
Object.keys(item).forEach((item2) => {
if (obj.hasOwnProperty(item2)) {
obj[item2].push(item[item2]);
}
});
});
result.push(obj)
console.log(obj);
console.log(result)//最终结果
let arr = [
{ a: 1, b: 2, c: 3, w: 5 },
{ a: 1, b: 5, c: 5, w: 4 },
{ a: 1, b: 5, c: 5, w: 4 },
];
let obj = {};
for (let key in arr[0]) {
//循环获取value值
let subArray = [];
for (let i = 0; i < arr.length; i++) {
let val = arr[i][key];
subArray.push(val);
}
obj[key] = subArray;
}
console.log([obj])