Array.prototype.remove = function (obj) {
for(var i = 0; i < this.length; i++) {
if(this[i] === obj) {
if (i == this.length) {
this[i] = null;
} else {
for(var j = i; j < this.length-1; j++) {
this[j] = this[j+1];
}
delete this[j]; // updated from this[j] = null; still not working.
}
}
}
return this;
};
でそれを呼び出す:私の削除機能で何が問題になっていますか?
write("ARRAY TEST = " + [22, 33, 44].remove(33).remove(22));
..itプリント:
44,,
なぜこの2つのカンマとどのようにもコンマを削除するには、私のremove関数を修正するには?
+1 – user113716
これは動作します。私はちょうど[この文書](http://www.w3schools.com/jsref/jsref_slice_array.asp)がスライスの第2引数が実際には「長さ」ではなく「終わり」であると言っているのは奇妙だと思った。 –
@Tom MDNに将来参照するには、w3schoolsは古く、誤った情報がたくさんあります。 –