1

だから、私はそのようなフレンドリーな近隣オブジェクトコンストラクターを持っています。

function Clip(a, b)
{
    this.track = a
    this.slot = b
    this.path = "live_set tracks " + a + " clip_slots " + b + " clip "
    clip = new LiveAPI(this.patcher, this.path)
    this.length = clip.get("length")
}

私がやりたいのは

  1. それらの任意の数を配列に追加します
  2. 配列の長さが8に達したら、その配列を新しい「スーパー」配列に追加し、新しい配列を開始します。

言い換えると、スーパーアレイを使用すると、オブジェクトのプロパティやメソッドに、たとえば、などでアクセスできるようになりclip[0][0].length - clip[0][7].lengthますclip[1][0].length - clip[1][7].length

4

1 に答える 1

0

これはあなたが探しているものですか?コードの一部を簡略化しましたが、一般的な考え方は合っているようです。

http://jsfiddle.net/bryandowning/pH6bU/

var superArr = [];

function Clip(a) {
    this.length = a;
}

/*
* num: number of clip collections to add to container
* max: number of clips per collection
* container: array to add collections to
*/
function addClips( num, max, container ){

    while(num--){

        // arr: a collection of clips
        var arr = [];

        for( var i = 0; i < max; i++ ){

            arr.push(
                // just did a random number for the length
                new Clip( Math.floor( Math.random() * 10 ) )
            );

        }

        container.push( arr );

    }

}


addClips( 5, 8, superArr );

console.log( superArr );

console.log( superArr[0][0].length );


​
于 2012-06-30T22:02:50.020 に答える