基本的にJavaScript (リンクからコピーされたコード)をサブクラス化するこの方法を知ってとてもうれしいです:Array
function SomeType() {
this.push(16);
}
SomeType.prototype = [];
SomeType.prototype.constructor = SomeType; // Make sure there are no unexpected results
console.log(new SomeType()); // Displays in console as [16]
しかし、これは完全ではありません。このように配列を偽のサブクラスにしてメソッドを取得する[]
方法はありますか?
var a = [];
a[3] = true;
console.log(a.length); //=> 4
var s = new SomeType();
s[3] = true;
console.log(s.length); //=> 1
このようにして、forループを実行するときに配列として扱うことができます。
for (var i = 0; i < s.length; i++) {
var item = s[i];
}