1. 배열이 2개가 있습니다.
const column = [a,b,c,d];
const values = [[1,2,3,4], [1,2,3,4].....]
이것을
values로 루프를 돌면서
원하는 결과는 이렇습니다.
[
{ a: 1,
b:2,
c:3,
d:4
},
{ a: 1,
b:2,
c:3,
d:4
},
...
]]
제가 써본 함수는
for 문 안에
objectKey() 등입니다.
|
답변 3개 / 댓글 1개
채택된 답변
+20 포인트
2019-03-04 (월) 19:12:00
직관적으로 이렇게 해봤습니다. 좀 더 스마트하게 하는 방법은.. 음;;;
Copy
const column = ['a', 'b', 'c', 'd'];
const values = [[1, 2, 3, 4], [5, 6, 7, 8]];
var result = [];
values.forEach((arr) => {
var obj = {};
arr.forEach((value, idx) => {
obj[column[idx]] = value;
});
result.push(obj);
});
console.log(result);
2019-03-04 (월) 19:38:34
약간 다른 방법으로도 해봤습니다. 퀴즈같아서 ㅎㅎ
Copy
const column = ['a', 'b', 'c', 'd'];
const values = [[1, 2, 3, 4], [5, 6, 7, 8]];
var output = values.map(arr => {
return arr.reduce((obj, v, vidx) => {
obj[column[vidx]] = v;
return obj;
}, {});
});
console.log(output);
답변에 대한 댓글 1개
2019-03-04 (월) 22:02:44
2019-03-04 (월) 14:07:39
해결 했는데
다른 고수님들의 해결 방법도 궁금합니다.
답변을 작성하려면 로그인이 필요합니다.
제 방법 보다 1000배 좋으십니다.
^^;;
제 소스 올릴까 했는데
너무 부끄러워서
패스 할게요^^:;