Array.prototype.clear = function(){
this = new Array();
return true;
}
해당 코드가 invalid assignment left-hand side
오류를 발생시킵니다.자바 스크립트에서 뮤 테이터 메서드를 작성하는 방법은 무엇입니까?
방법 중 하나에서 개체 자체를 변경하려면 어떻게해야합니까?
Array.prototype.clear = function(){
this = new Array();
return true;
}
해당 코드가 invalid assignment left-hand side
오류를 발생시킵니다.자바 스크립트에서 뮤 테이터 메서드를 작성하는 방법은 무엇입니까?
방법 중 하나에서 개체 자체를 변경하려면 어떻게해야합니까?
this
value이 가리키는 내용을 변경할 수 없습니다. 변경 불가능합니다.
Array.prototype.clear = function(){
this.length = 0;
return true;
};
편집
:는 사스케의 대답에 만든 주석을 보면, 당신은을 비울 수당신이 명확 현재 배열하려면, 당신은 단순히 그것의 length
재산 제로에 설정할 수 있습니다 내 첫 번째 예에서와 같이 배열 한 다음 push
예를 들어, 다른 배열의 요소 :
Array.prototype.test = function() {
var newArray = ['foo', 'bar']; // new array elements
this.length = 0; // empty original
this.push.apply(this, newArray); // push elements of new array
};
방법에 대해 :
Array.prototype.clear = function(){
this.length = 0;
return true;
}
메소드를 실행 한 후 내 배열이'[ '이 배열이 지워졌습니다']'. –
@Erik, 배열의 길이 속성을 항상 확인할 수 있습니다. 'isCleared'상태가 필요 없습니다. – BGerrissen
나는 누가 당신을 싫어했는지 확신 할 수 없지만 귀하의 게시물이 내 것보다 유익했습니다. 특히이 부분의 불변성을 피하십시오. +1. – sasuke
Thanks @sasuke :) – CMS