자바스크립트 문제입니다.
본문
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
직관적으로 이렇게 해봤습니다. 좀 더 스마트하게 하는 방법은.. 음;;;
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);
약간 다른 방법으로도 해봤습니다. 퀴즈같아서 ㅎㅎ
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);
해결 했는데
다른 고수님들의 해결 방법도 궁금합니다.
답변을 작성하시기 전에 로그인 해주세요.