我想創建一個可以按照以下方式工作的輔助對象:
它是一個具有給定行數的數組,例如,假設它只能包含3行。
它將具有插入所述第一索引處的一個新的項,並按下一個索引向下所有其餘的插入方法(新條目是0,0變爲1,1 - > 2等。)
並且如果數組已滿到最大行數,最後一個條目退出。
使用自定義方法創建一個有限數組
所以,我提出了以下方法:
function limArray(array, maxlength){
this.arr = array;
this.maxlength = maxlength;
this.arr.length = maxlength;
this.insertVal = function(value){ //insert new value and push down the rest
for (var i=maxlength; i>=0; i--) {
this.arr[i] = this.arr[i-1]
};
this.arr[0] = value;
this.arr.length = maxlength;
};
}
我的問題是,如果它是使這個聰明的辦法?
是否有可能創建Array對象本身的實例並將其修改爲受限等。
歡迎任何批評/改進建議!
該操作想要有一個方法,在數組的開始插入值,而不是在最後。 – alnorth29
@ alnorth29:更新了我的答案。 –
@Felix Kling thanx的詳細解答!你爲什麼給主函數和內函數一個'return'而不是像我一樣將數組保存在一個內部變量中? – ilyo