[{a:1,b:2,c:3},{a:4,b:5,c:6}]
如何转成 竖列
[
[a,1,4],
[b,2,5]
[c,3,6]
]
var source = [{a:1,b:2,c:3},{a:4,b:5,c:6}]
var target = []
var store = {}
for (var i = 0; i < source.length; i++) {
var obj = source[i]
for (var key in obj) {
if (store[key]) {
store[key].push(obj[key])
} else {
store[key] = [obj[key]]
}
}
}
for (var k in store) {
store[k].unshift(k)
target.push(store[k])
}
console.log(target)
for (var key1 in res[0]) {
for (var key2 in res[1]) {
if (key1 == key2) {
arr.push([key1, res[0][key1], res[1][key2]])
}
}
}
先存成
map = {
a: [1,4],
b: [2,5]
}
再转化
function transform(list) {
const map = {};
list.forEach(item => {
Object.keys(item).forEach(key => {
if (!map[key]) {
map[key] = [];
}
map[key].push(item[key]);
})
});
return Object.keys(map).map(key => [key, ...map[key]]);
}
亲测有效 希望给个赞
Object.values(
[{a:1,b:2,c:3},{a:4,b:5,c:6}].reduce((pre, cur) => {
const obj = {}
Object.keys(cur).forEach(curKey => {
if (pre[curKey]) {
obj[curKey] = Array.isArray(pre[curKey]) ? pre[curKey].push(cur[curKey]) : [curKey, pre[curKey], cur[curKey]]
} else {
obj[curKey] = Array.isArray(cur[curKey]) ? cur[curKey] : [curKey, cur[curKey]]
}
})
return obj
})
)
13 回答13k 阅读
7 回答2.1k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.2k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读