2017-09-20 16 views
0

相続人はJavascriptを持つオブジェクトにデータを追加する方法:私はこれを実行するとは、私は私のオブジェクトにデータを追加する方法

let trade = [ 
     new RecordStock(elem, recordtime, stockquantity, tradetype, stocksymbol), 
    ] 

問題がある:

console.log(trade[0].price); 

はそれはそれは私のオブジェクトを上書きしているようです最初から。

私のクラスコードを追加します。私はオブジェクト

class RecordStock { 

    constructor(price, timestamp, stockquantity, tradetype, stocksymbol) { 
    this.price = price; 
    this.timestamp = timestamp; 
    this.stockquantity = stockquantity; 
    this.tradetype = tradetype; 
    this.stocksymbol = stocksymbol; 
    } 
    static recordTrade(){ 
    console.log(price[0]); 
    } 
} 
+0

上書きはどういう意味ですか?配列内のオブジェクトは、配列を初期化したときからのままです。 –

+0

@NanduKalidindi私は関数とconsole.log(trade [0])を実行すると、常に別のオブジェクトを出力します。例:入力:価格=> 100。オブジェクトに保存すると完全に機能しますが、101のようなオブジェクトの価格をもっと節約したい場合は、価格[0]を印刷するときに100を、NOを101にします。 –

+0

私は完全に理解しているとは確信していませんが、関数を実行するときにオブジェクトをトレード配列に追加しようとしていますか? –

答えて

0

問題は、関数内で毎回varが宣言されることです。私は関数からトレードを外しました

1

から最初のデータを印刷することができますどのように私はあなたがtrade配列にオブジェクトをプッシュするために探していると思います。配列に追加するだけで、これを実現できます。

あなたはRecordStockオブジェクトを追加する機能を持っていると仮定すると、この

ようなものでオブジェクトをプッシュすることができます。それはどのようにすることができるのです。

let trade = [];  

trade.push(new RecordStock(elem, recordtime, stockquantity, tradetype, stocksymbol)); 

trade.push(new RecordStock(elem, recordtime, stockquantity, tradetype, stocksymbol)); 

trade.push(new RecordStock(elem, recordtime, stockquantity, tradetype, stocksymbol)); 

このtrade[trade.length - 1]を使用してプッシュした最新のRecordStockにアクセスできます。 trade [0]には、最初にプッシュしたオブジェクトが常に含まれます。これは通常の配列機能です。

+0

未定義のプロパティ 'push'を読み取ることができません –

+0

クラス名はRecordStock –

+0

と呼ばれます。 'let trade = []'を使って取引を初期化しましたか? –

関連する問題