javascript Array 에 protoype으로 remove 함수 추가하기



요상스럽게도 자바스크립트 배열 객체에는 배열상의 특정 인덱스에 있는 엘리먼트를 삭제하는 remove(index) 요런 함수가 없다.

뭔 이유가 있으니까 안 맨들어 놨겠지만 개발을 하다보면 죠런 함수가 간절하게 필요한 경우가 있다.




prototype 을 이용해 Array 객체에 remove() 함수를 추가해 보자.
Array.prototype.remove = function(idx) {
	return (idx<0 || idx>this.length) ? this : this.slice(0, idx).concat(this.slice(idx+1, this.length));
};



죠걸 모든 페이지에서 공통적으로 포함시키는 common.js 같은 js 파일에 추가하면 배열 객체에서 remove() 함수를 쓸 수 있게 된다.
// 테스트
var arr = ["a", "b", "c", "d"];

console.log(arr.remove(0));		// ["b", "c", "d"]

console.log(arr.remove(1));		// ["a", "c", "d"]

console.log(arr.remove(2));		// ["a", "b", "d"]

console.log(arr.remove(3));		// ["a", "b", "c"]

console.log(arr.remove(4));		// ["a", "b", "c", "d"]

console.log(arr.remove(-1));	// ["a", "b", "c", "d"]