1. 어레이 딥 카피의 4가지 방법
1. JSON.parse() 및 JSON.stringify()를 사용합니다.
상수 arr1 = [1, 2, 3, 4];
const arr2 = JSON.parse(JSON.stringify(arr1));
2. Array.from()을 사용합니다.
상수 arr1 = [1, 2, 3, 4];
const arr2 = Array.from(arr1);
3. 스프레드 연산자를 사용합니다.
상수 arr1 = [1, 2, 3, 4];
const arr2 = [...arr1];
4. Array.map()을 사용합니다.
상수 arr1 = [1, 2, 3, 4];
const arr2 = arr1.map(항목 => 항목);
객체 딥 카피의 2, 4가지 방법
1. JSON.parse() 및 JSON.stringify()를 사용합니다.
// 먼저 객체 정의
하자 개체 = {
이름: '톰',
나이: 18
};
// 딥 카피 구현
let deepCopy = JSON.parse(JSON.stringify(obj));
2. Object.assign()을 사용합니다.
// 객체 정의
하자 개체 = {
이름: '톰',
나이: 19
};
// 깊은 복사
let deepCopy = Object.assign({}, obj);
3. ES6의 스프레드 연산자를 사용합니다.
// 객체 정의
하자 개체 = {
이름: '톰',
나이: 20
};
// 깊은 복사
let deepCopy = {...obj};
4. lodash의 cloneDeep() 사용:
// 객체 정의
하자 개체 = {
이름: '톰',
나이: 21
};
// 로대시 가져오기
import _ from 'lodash';
// 깊은 복사
let deepCopy = _.cloneDeep(obj);