배열 값 또는 인덱스로 삭제하기
요즘은 배열 보다는 객체로 많이 사용되기도 하는데요.
배열을 삭제 하는 방법에 대한것입니다.
기본적으로 있는 remove는 완전히 없어지는 것이 아니라 빈방으로 만드는 역활을 합니다.
그렇기 때문에 갯수를 체크하면 생각과 다를 수 있습니다.
현재의 브라우저 버전에서도는 사용해서 문제 되지 않습니다.
Array.prototype.removeByValue = function (val) {
let arrRtn = this.filter(item => item !== val);
return arrRtn;
}
// 0 부터 시작 한다
Array.prototype.removeByIndex = function ( idx ) {
let arrRtn = this.slice(0, idx).concat(this.slice(idx+1, this.length));
return arrRtn;
}
let arr = [];
arr.push(1);
arr.push(3);
arr.push(2);
console.log(arr);
arr = arr.removeByIndex(1);
console.log(arr);
arr = arr.removeByValue(1);
console.log(arr);
프로토타입으로 만들어 배열의 메소드로 사용할 수 있는 방법 입니다.
그리고 초기화 방법은 흔하게 사용하는 선언할때의 방법도 있지만
재미 있는것은 length를 0으로 만들어도 초기화 됩니다.
예를 들면 arr.length = 0 으로 하면 모두 삭제 됩니다.
관련링크