강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

Bell Vise님의 프로필 이미지
Bell Vise

작성한 질문수

[리뉴얼] 코딩자율학습 제로초의 자바스크립트 입문

카드 맞추기 질문

해결된 질문

작성

·

276

0

 const total = 12;
        const colors = ['red', 'orange', 'yellow', 'green', 'white', 'pink'];
        let colorCopy = colors.concat(colors);
        let shuffled = [];
        let clicked = [];
        let completed = [];

        function shuffle() {  // 피셔-예이츠 셔플
            for(let i=0; colorCopy.length>0; i+=1) {
                const randomIndex = Math.floor(Math.random() * colorCopy.length);
                shuffled = shuffled.concat(colorCopy.splice(randomIndex, 1));
            }
        }

여기서

shuffled = shuffled.concat(colorCopy.splice(randomIndex, 1)); 이거를

shuffled.push(colorCopy.splice(randomIndex, 1)) 로 해도 상관이 없나요? concat으로 한 이유가 있을까요

 

 

 

답변 1

0

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

shuffled.push(colorCopy.splice(randomIndex, 1)[0])

이렇게 해야 합니다.

Bell Vise님의 프로필 이미지
Bell Vise
질문자

shuffled.push(...colorCopy.splice(randomIndex, 1))
이렇게 스프레드연산자를 이용해도 되나요?

제로초(조현영)님의 프로필 이미지
제로초(조현영)
지식공유자

네 똑같습니다.

Bell Vise님의 프로필 이미지
Bell Vise

작성한 질문수

질문하기