2015-07-10 35 views
1

請參閱此Fiddle的結果。我想要顛倒FINAL列的順序。代碼片段:如何顛倒數組之和的順序?

success: function (e) { 
     var t = e, 
      finalAccum = [] 
      arr = [], 
      rev = []; 
     $.map(t, function (e) { 
      var loc = e.location; 
      var prov = e.province; 
      var data = e.data; 
      for (var i = 0; i < data.length; i++) { 
       var dataEl = data[i]; 
       var len = parseInt((data.length - 1) - i); 
       var accumRain = parseFloat(data[i].rain_value); 
       finalAccum = parseFloat(accumRain + finalAccum); 
       t = dataEl.dateTimeRead; 
       $('#ul2').append("<li>" + t + "</li>"); 
       $('#ul1').append("<li>" + accumRain + "</li>"); 
       $('#ul').append("<li>" + finalAccum + "</li>"); 
      } 
     }); 
    } 

我的意思是反向意味着例如結果是1,2,3,4,5它應該是5,4,3,2,1。

+0

你可以使用任何排序功能並按相反順序排序 – dmlittle

+0

你必須遍歷我猜測的同一個數組的實例。一個去一個方向,另一個去相反 –

+0

看看小提琴,我試圖獲得最大長度,並減少它,但同樣的結果。 –

回答

2

簡單,從

var dataEl = data[i]

行更改爲

var dataEl = data[data.length-i-1];

0

可以簡單地恢復邏輯在for方法來迭代陣列之上向後:

var array = $.map(t, function (i, e) { 
    var loc = e.location; 
    var prov = e.province; 
    var data = e.data;    
    for (var i = data.length -1; i >= 0; i--) { 
     var dataEl = data[i]; 
     var accumRain = parseFloat(dataEl.rain_value); 
     finalAccum = parseFloat(accumRain + finalAccum); 
     t = dataEl.dateTimeRead; 
     $('#ul2').append("<li>" + t + "</li>"); 
     $('#ul1').append("<li>" + accumRain + "</li>"); 
     $('#ul').append("<li>" + finalAccum + "</li>"); 
    } 
}); 

Example fiddle

+0

實際上,我使用'$ .map'是因爲我需要一個用於我的Highcharts的數據數組。 –

+0

啊,好的。我爲你更新了答案。 –