개발 잘해지는 닉네임
213
2021-02-09 13:25:11
3
131

lodash에서 배열사이사이에 값넣는 함수가 있나요?


다음과 같은 동작을 하는 함수가 있나요?

const arr = [1,2,3,4,5]
const brr = _.사이사이넣기(arr, 0) // [1, 0, 2, 0, 3, 0, 4, 0, 5]


함수가 없다면 위와같은 기능 조합성있는 함수로 어떻게 만들어 쓰는게 가장 적절할까요?

0
  • 답변 3

  • Dev.kerberos
    619
    2021-02-09 13:33:37 작성 2021-02-09 13:34:43 수정됨

    배열 인덱스홀수에 0넣어두될거같은데


    https://lodash.com/docs/4.17.15


    lodash document 인데 보심이

  • 카시와기유키
    649
    2021-02-09 14:03:35 작성 2021-02-09 14:29:30 수정됨

    const customized = [ 1, 2, 3, 4, 5 ].map( num => [ num, 0 ] ).flat();
    customized.pop();
    console.log( customized ); // (9) [1, 0, 2, 0, 3, 0, 4, 0, 5]

    이런 식으로도 할 수 있겠습니다.

    혹은,
    const customized = [ 1, 2, 3, 4, 5 ].map( num => [ 0, num ] ).flat().slice( 1 );
    console.log( customized ); // (9) [1, 0, 2, 0, 3, 0, 4, 0, 5]

    혹은,
    const customized = [ 1, 2, 3, 4, 5 ].map( ( num, idx ) => ( idx ? [ 0, num ] : [ num ] ) ).flat();
    console.log( customized ); // (9) [1, 0, 2, 0, 3, 0, 4, 0, 5]

    함수로 만든다면,
    const 사이사이넣기 = ( array, char ) => array.map( ( num, idx ) => ( idx ? [ char, num ] : [ num ] ) ).flat();
    console.log( 사이사이넣기( [ 1, 2, 3, 4, 5 ], 0 ) ); // (9) [1, 0, 2, 0, 3, 0, 4, 0, 5]

  • 개발 잘해지는 닉네임
    213
    2021-02-10 09:10:52

    Dev.kerberos 홀수번 인덱스에만 넣는 함수가 있나요? 구현이야 당연히 되지만 그냥 있는거 쓰고싶어서요


    카시와기유키 reduce안쓰는 방법이 있었네요! 감사합니다

  • 로그인을 하시면 답변을 등록할 수 있습니다.