-
[JS] 배열의 요소 삭제JavaScript 2022. 10. 1. 18:01반응형SMALL
배열 아이템 삭제
Splice() 메서드와 delete를 이용한 기초 삭제
- splice() : 배열 아이템을 삭제하면서 배열길이가 줄어든다. 배열 아이템이 완전히 삭제된다
- array.splice(index, 1);
- delete : 배열 아이템을 삭제하지만, 배열이 차지하는 자리는 그대로 유지된다. 빈 배열 아이템이 유지 되며, 배열 길이도 변하지 않는다.
- delete array[index];
index위치 배열 아이템 1개 삭제. 배열 길이가 줄어듬
let array = [1,2,3,4,5,6,7,5]; let index = 3, number = 5; // index위치 배열 아이템 1개 삭제. 배열 길이가 줄어듬 array.splice(index, 1); console.log(array) // [1, 2, 3, 5, 6, 7, 5] for(let i = 0; i < array.length; i++){ if(array[i] === number) { array.splice(i, 1); } } console.log(array); // [1, 2, 3, 4, 6, 7] -------------------------------------------------- // index위치 배열아이템 삭제, 배열길이가 유지됨 delete array[index]; console.log(array); // [1, 2, 3, undefined, 5, 6, 7, 5] // 배열아이템은 유지하고 값만 undefined초기화 array[index-1] = undefined; console.log(array); // [1, 2, undefined, 4, 5, 6, 7, 5] // 삭제한 배열 아이템의 값을 반환 let value = array.splie(index, 1)[0]; console.log(value); // [4]- Filter() 메서드를 이용한 아이템 삭제
// filter()메서드를 이용하여 value값 2가 없는 새 배열 만들기 let value = 2; let arr = [1, 2, 3, 4, 5, 6, 7]; arr = arr.filter(item => item !== value); console.log(arr); // [1, 3, 4, 5, 6, 7] // filter()메서드를 이용하여 여러개의 배열 아이템을 한번에 삭제 let value = [2, 3, 4]; let arr = [1, 2, 3, 4, 5, 6, 7]; arr = arr.filter(item => !value.includes(item)); console.log(arr); // [1, 4, 5, 6, 7]- 배열 양쪽 끝에 있는 아이템 삭제
// shift()메서드를 이용하여 첫번째 아이템을 삭제 let arr = [1, 2, 3, 4]; arr.shift(); // return 1 console.log(arr); [2, 3, 4]; // length를 이용하여 마지막 배열아이템 삭제 // "arr.length = arr.length - 1"과 같은 수식을 사용할 수 있으며, // 맨 마지막 배열 아이템을 삭제하는 것과 같은 효과를 가져온다. let arr = [1, 2, 3, 4, 5, 6, 7]; arr.length = 5; console.log(arr); [1, 2, 3, 4, 5, 6];반응형LIST'JavaScript' 카테고리의 다른 글
[JQuery] input박스 포커스 이동/해제 (1) 2022.10.07 [JS] modal 창 컨트롤 (0) 2022.10.06 [JQuery] toggleClass 선택한요소에 class값 추가/삭제 (0) 2022.09.15 [JS]셀렉트박스 변경 이벤트 처리 (0) 2022.09.14 [JS] 빈 배열인지 확인 (0) 2022.07.12 - splice() : 배열 아이템을 삭제하면서 배열길이가 줄어든다. 배열 아이템이 완전히 삭제된다