2015-11-07 77 views
0

我有以下JS代碼。我無法將Metric變量推送到MetricArray。什麼是問題?已更新爲添加循環和清除數組的語句。無法推送數組中的值

PS:這不是完整的代碼,我不能把確切的代碼放在這裏。我獲取Metric的不同值並將它們推送到ArrayOfMetric.MetricArray。然後,我重置ArrayOfMetric.MetricArray並獲取另一組值Metric值等。所以我需要一種方法來重置ArrayOfMetric。還請解釋爲什麼當我在打印數組時有初始值被擦除,而數組有這些值的快照。

有沒有辦法重置數組而不失去初始值?

for(var i = 0; i < 10; i++) { 
    var Metric = { 
     "Code": "", 
     "Name": "", 
     "Value": "" 
    }; 

    var ArrayOfMetric = { 
     "MetricArray": [] 
    }; 

    Metric.Code = "ABC"; 
    Metric.Name = "AB Corporation"; 
    Metric.Value = 1245.67; 

    ArrayOfMetric.MetricArray.push(Metric); 

    console.log(Metric);  // Prints correct values     
    console.log(ArrayOfMetric); // Shows MetricArray empty 

    ArrayOfMetric.MetricArray = []; 
} 
+1

工作正常https://jsfiddle.net/_alexander_/kor3z7bp/ –

+0

@Alexander是的,這工作。請參閱更新的問題。 – Forkmohit

+0

你正在清除循環結尾的MetricArray ... –

回答

0

我看起來就像你有一個語法錯誤,其中Console應該console

+0

-Filype感謝您指出。請參閱更新的問題。 – Forkmohit