2010-08-15 47 views

回答

5

您無法更改this value指向的參考,它是不可變的。

如果你想明確當前數組,你可以簡單地設置其length屬性設置爲零:

Array.prototype.clear = function(){ 
    this.length = 0; 
    return true; 
}; 

編輯:放眼到佐助的答案提出的意見,可以清空數組作爲在我的第一個例子,然後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 
}; 
+0

我不確定誰低估了你,但你的帖子比我的信息更豐富;尤其是這個部分的不變性。從我+1。 – sasuke 2010-08-15 19:34:42

+0

謝謝@sasuke :) – CMS 2010-08-15 19:44:55

2

如何:

Array.prototype.clear = function(){ 
    this.length = 0; 
    return true; 
} 
+0

如果我想讓我的數組等於'['該數組已被清除']方法運行後該怎麼辦? – 2010-08-15 18:52:25

+0

@Erik,你可以隨時檢查數組的長度屬性。應該不需要'isCleared'狀態。 – BGerrissen 2010-08-15 19:12:29