2015-11-07 73 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