includes()와 splice() 메서드란?
JavaScript에서 includes() 메서드는 배열에 특정 요소가 포함되어 있는지 여부를 확인할 때 사용하고, splice() 메서드는 배열에 요소를 추가하거나 제거할 때 사용합니다. 이 두 메서드를 함께 활용하면 배열에서 원하는 값을 손쉽게 삭제할 수 있습니다.
예제 코드
아래 코드는 제거할 값들을 받아 해당 값들이 배열에 존재하면 모두 삭제하는 함수입니다.
deleteElementsFromArray = function(elements, ...values) {
let elementRemoved = Array.from(values);
for (var index = 0; index < elements.length; index++){
if (elementRemoved.includes(elements[index])){
elements.splice(index, 1);
index--;
}
}
return elements;
}
console.log(deleteElementsFromArray([80,90,56,34,79], 90, 34,79));코드 동작 방식
함수는 가변 인자(...values)로 전달된 제거 대상 값들을 Array.from()으로 배열로 변환한 뒤, 원본 배열을 순회하면서 각 요소가 제거 목록에 포함되어 있는지 includes()로 확인합니다. 포함되어 있다면 splice()로 해당 요소를 삭제하고, 인덱스가 밀리지 않도록 index--로 한 칸 되돌려 연속된 중복 값도 정확히 처리합니다.
프로그램 실행 방법
위 프로그램을 실행하려면 다음 명령어를 사용합니다.
node fileName.js
여기서는 파일 이름이 demo69.js입니다.
실행 결과
코드를 실행하면 다음과 같은 출력 결과를 확인할 수 있습니다. 제거 대상이었던 90, 34, 79가 삭제되고 나머지 요소만 남습니다.
PS C:\Users\Amit\JavaScript-code> node demo69.js
[ 80, 56 ]