자바스크립트 문제입니다.

자바스크립트 문제입니다.

QA

자바스크립트 문제입니다.

본문

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);
답변을 작성하시기 전에 로그인 해주세요.
전체 123,534 | RSS
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT