2008년 한 회사 JS 면접 질문, 포지션은 자바스크립트 엔지니어 (구글로 가다)
면접관님이 저에게 배열을 clone하는 방법을 물으셨는데, 그때 js의 Object에는 clone 메소드가 없는데 java의 Object에는 있더라고요.
그렇다면 새로운 배열을 어떻게 얻습니까?
당시 저는 이렇게 대답했습니다. 루프를 사용하여 소스 배열의 요소를 새 배열에 순서대로 밀어넣습니다. 이것은 가장 간단한 방법이지만 면접관이 원하는 대답은 분명 아닙니다.
마지막으로 말해 보세요. Array의 슬라이스 방법을 사용하세요. 예는 다음과 같습니다:
다음과 같이 코드 코드를 복사합니다.
var ary = [1,2,3];//소스 배열
var ary2 = ary.slice(0);//새 배열 복제
console.log(ary2);
/* ary2를 변경해도 ary에는 영향을 미치지 않습니다. 이는 실제로 참조가 아닌 두 개의 배열임을 나타냅니다.
* 두 개의 참조가 있는 경우 둘 중 하나를 변경하는 것은 동일한 배열에 대한 작업입니다.
*/
ary2[0] = 10;
console.log(ary2);
console.log(ary);