반응형
숫자 혹은 배열이 들어올 때, 항상 동일하게 배열로 만들어주는 방법을 알아보자
let a = 1;
let b = [1,2,3]
가 있을 때 아래처럼 변환 되도록 만들기
let c = [...a] 혹은 let c = [...b]
아래 코드처럼 만약 현재 들어오는 variable가 배열이면 return variable을 해도 되지만, 기존 오브젝트와 다른 deep copy된 배열을 얻기 위해선 spread syntax를 이용하여 복사해준다.
function makeArray(variable) {
if (Array.isArray(variable)) {
return [...variable];
} else {
return [variable];
}
}
let a = 1;
let b = [1, 2, 3];
let c = makeArray(a); // [1]
let d = makeArray(b); // [1, 2, 3]
조금 더 js에 맞는 코드로 만들기 위해서는
Array.from() 메소드를 사용하여 배열로 변환할 수 있다.
이 메소드는 배열 형태의 객체나 이터러블 객체를 배열로 변환해준다.
그리고 Array.of() 메소드를 사용하여 값 하나만으로 배열을 생성할 수 있다.
function makeArray(variable) {
return Array.isArray(variable) ? Array.from(variable) : Array.of(variable);
}
let a = 1;
let b = [1, 2, 3];
let c = makeArray(a); // [1]
let d = makeArray(b); // [1, 2, 3]
반응형
'Basic > JavaScript' 카테고리의 다른 글
"Unhandled Error : TypeError: Converting circular structure to JSON 에러 해결 (0) | 2023.05.07 |
---|---|
JavaScript 스코프 이해해보기 (0) | 2023.04.30 |
JavaScript 스코프 이해하기 (0) | 2023.03.26 |
AJAX의 정의 및 사용 방법 (0) | 2023.03.25 |
[Javascript] 배열의 최댓값 얻는 방법 3가지 (0) | 2023.03.19 |