자바스크립트를 사용하여
배열값을 0으로 모두 초기화하는 방법을 알아봅니다.
# 자바스크립트 배열값 모두 0으로 초기화하는 방법
배열은 수 많은 값들을 시퀀스로 이루어져 있습니다. 만약 배열의 값들이 아래와 같이 모두 임의의 값이라고 가정합니다.
let nums = [1, 3, 5, 10, 100];
이제 위 배열의 모든 값들을 0으로 초기화하려면 어떻게 할까요? 아래와 같은 방법을 사용할 수 있습니다.
! ES 6 fill() 사용하기
배열값에 사용하는 fill()는 간단하게 원하는 값으로 값을 변경 하거나 채우는 것이 가능합니다. 예를들어 위의 배열 nums의 값을 모두 0으로 아래와 같이 변경할 수 있습니다.
nums.fill(0);
// 출력결과 아래
[0, 0, 0, 0, 0]
자바스크립트 fill()의 문법은 아래와 같습니다.
fill(변경할 값, 시작 위치, 끝 위치)
여기서 변경할 값은 만약 처음 두 개의 값만 변경한다면? 아래와 같이 입력합니다.
nums.fill(0, 0, 2);
// 출력결과 아래
[0, 0, 5, 10, 100]
@ 배열 fill()만 사용할 경우
만약 배열값에 fill()만 사용하면 어떻게 될까요? 이 경우 모든 값은 undefined의 값을 가지게 됩니다.
nums.fill();
// 출력결과 아래
[undefined, undefined, undefined, undefined, undefined]
@ 모두 0의 값을 가지는 길이의 배열 만들기
아래의 함수 createZeroArray()는 0의 값을 가지는 일정 길이의 배열을 만드는 함수입니다.
createZeroArray = function(len) {
return new Array(len).fill(0);
}
만약 5자리의 0의 배열 값을 만들어 보려면 아래와 같습니다.
nums = createZeroArray(5)
@ 문자열로 변경 후 split()과 parseFloat 사용하기
아래 방법 역시 원하는 개수 만큼의 0 숫자의 배열을 생성합니다.
const n = 3;
let nums = new Array(n + 1).join('0').split('').map(parseFloat)
배열을 문자열 0의 값으로 생성 후 join(), split(), map()을 동시에 사용한 방법입니다.
! 배열에 반복문 for 사용하기
아래와 같이 반복문 for를 사용할 수도 있습니다.
let nums = new Array(5);
for (let i = 0; i < nums.length ; ++i) {
nums[i] = 0;
}
변수 nums 역시 0의 값으로 배열이 초기화 되어 나타나게 됩니다.
// 출력결과 아래
[0, 0, 0, 0, 0]
여기까지 자바스크립트 배열의 모든 값을 0으로 초기화, 변경하는 방법에 대하여 알아보았습니다.