2012-04-24 11 views
1

構造体の配列の要素を作成したいと思っています。出来ますか?匿名の構造体の要素を設定する

さて、最初に私は構造体を定義してきましたし、その後、アレイ

function struct(a, b) { 
    this.a=a; 
    this.b=b; 
} 

var foo = [ 
    new struct(1,2), 
    new struct(3,4), 
] 

を設定するが、私はanoynymous機能を望む、何のように:

var foo = function(a, b) [ 
    (1,2), 
    (3,4), 
] 

注:それはです間違っていますが、そのアイデアが表示されます

答えて

1

あなたが使用したいのは、配列リテラル表記に加えてオブジェクトリテラル表記です。

var foo = [ 
    {a:1,b:2}, 
    {a:3,b:4} 
]; 
console.log(foo[0].b); //-> 2 

あなたが本当に機能を呼び出したい場合は(それは短いものかも知れません)、あなたはそれに名前を付ける必要があります:

function s(a,b){ 
    return {a:a,b:b}; 
} 
var foo = [ 
    s(1,2), 
    s(3,4) 
]; 

あなたはnewを使用する必要はありませんキーワードを使用して新しいオブジェクトを作成します。通常の関数呼び出しでは、新しいインスタンス—とeven set the prototype-based inheritance —をすべて設定できます。

関連する問題