indexArr (삭제할 인덱스 포함)을 메서드에 전달하여 요소를 삭제하는 논리를 작성하려고합니다.
var a = [0,1,2,3,4,5];
Array.prototype.removeElem = function(indexArr){
this.filter(function(value,index,arr){
return indexArr.indexOf(index)>-1 ? arr[index] = undefined:false
}
});
}
a.removeElem([2,3]); //passing indexes in form of array
console.log(a.join('').split('')); //removing undefined values
보시다시피 메소드 undefined
실행 후 값을 제거 removeElem()
하고 있지만 메소드 자체에서이를 수행하고 싶습니다.
원래 배열을 수정하려면 메서드 while()
와 결합 된 마지막에서 첫 번째 인덱스까지 루프를 사용할 수 있습니다 splice()
.
var a = [0,1,2,3,4,5];
Array.prototype.removeElem = function(indexArr){
var length = this.length;
while(length--) {
if(indexArr.indexOf(length) > -1) {
this.splice(length, 1);
}
}
}
console.log(a.removeElem([0,1]));
console.log(a);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다