1

最近私はjavascriptクラスを作ることを学んでいます、私は他の人々がこのようなクラスを作るのを見ました

var item = {
     'a':{'b':1000,'c':2000,'d':3000} , //how to make a variable become an array?
     myfunction : function(){
         console.log(item.a.b); //and output item.a[1]?
     }
 };
 item.myfunction();

しかし、変数aを配列にすることは可能ですか?item.a[1]そのような変数を出力しますか?

var a=new Array('1000','2000','3000') しかし、エラーです。正しい構文が必要です。

4

3 に答える 3

2
var item = {
    'a': [1000, 2000, 3000],
    myfunction: function () {
        console.log(this.a[1]);
    }
};

しかし、それはクラスではなく、「変数a」はありません。

于 2012-11-24T03:58:20.550 に答える
1
'a':[1000,2000,3000]

console.log(item.a[0]); // 1000
console.log(item.a[2]); // 3000

続きを読む:http ://www.elated.com/articles/javascript-array-basics/

于 2012-11-24T03:58:10.537 に答える
0

「a」を配列に変換するか、単に「a」を配列にするかによって、2 つの方法があります。

最初の方法は、関数を介して実行することです

function toArray(object) {
    var array = new array();
    for (key in object) {
        if (object.hasOwnProperty(key)) {
            array.push(object);  // This is alternative for indexed array
            array[key] = object; // This is for an associative array
        }
    }
    return array;
}

おそらく、「クラス」にこの関数を呼び出して、戻り値を「a」に割り当てさせます

var item = {
    'a':{'b':1000,'c':2000,'d':3000} , //how to make a variable become an array?
    myfunction : function(){
        this.a = toArray(this.a);
        console.log(this.a[1]) // If you do indexed
        console.log(this.a.b); // If you do associative
    }
};

item.myfunction();

2番目の方法は@ahrenによって説明されました。これは、[...] {...}の代わりに値によって「a」を配列として定義するだけです

また、JavaScript での OOP に関する私自身の質問を確認することもできます。プライベート メソッドに関して、TJ から素敵な返信がありました。

JavaScript OOP の落とし穴

これがあなたが望んでいたものかどうかはわかりませんが、うまくいくはずです。

于 2012-11-24T07:39:22.693 に答える