2017-09-20 4 views
0

을 Heres는 자바 스크립트의 객체에 데이터를 추가하는 방법 :이 프로그램을 실행할 때내가 내 객체에 데이터를 추가하는 방법을

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는 function을 실행하고 console.log (trade [0])는 항상 다른 객체를 출력합니다. 예 : 입력 : price => 100. 오브젝트에 저장하면 완벽하게 작동하지만, 101과 같은 오브젝트에 더 많은 가격을 저장하려면 가격 [0]이 100을 유지하고 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

정의되지 않은 '푸시'속성을 읽을 수 없습니다 –

+0

클래스 이름은 RecordStock –

+0

입니다.'let trade = []'를 사용하여 거래를 초기화 했습니까? –