var arr1 = [1, 2, 3, 3, 3, 5, 5];
Array.prototype.remove3 = function (data) {
var result = this.filter((e) => e !== data);
return result;
}
arr1.remove3(5);
console.log(arr1);
선생님께서 해주신 코드로 해보려다가 최대한 간략하게 하기 위해서 이렇게 작성을 했는데요. 프로토타입이라 그런지 값을 return을 못해서 못받더라구요.
이걸 제대로 값을 받을 방법이 있을까요? 구글 검색해도 관련 내용이 잘 안나오네요.
선생님께서 해주신 코드에서
그리고 강좌 코드에서 이렇게 하면 3,3,3,3,이 무제한 늘어나면 제대로 삭제가 안되서요.
Array.prototype.remove3 = function (data) {
for (var i = 0; i < this.length; i++) {
if ( this[i] === 3 ) {
this.splice(i,1);
//i--;
}
}
}
i--; 를 추가하면 제대로 되는것 같습니다.