2017-08-24 60 views
-2

我試圖扭轉使用ReactJS這種對點擊:如何反向排序上反應

 if (this.state.Prz==3) { 
     this.props.files.sort(function(a,b){ 
      return a.lastModified < b.lastModified ? 1 : -1; 
     }); 
    } 

我試過很多花樣搜索谷歌,但我仍然堅持。

+0

似乎對我來說沒問題。 –

+1

應該如何確定排序順序?它來自國家,道具還是什麼?看起來你只需要在排序函數中添加一個條件。 –

+0

排序是由道具決定的。我添加條件它的工作更好,但似乎我的_lasModified_是錯誤的,但它有很大的幫助,謝謝 – MeowMeow

回答

0

你可以簡單地通過調用反向

this.props.files.reverse() 

要小心的是,這將變異原數組扭轉數組。

0

您可以更改排序的方向(因爲你似乎被Date排序)通過交換1-1

this.props.files.sort(function(a,b){ 
    return a.lastModified < b.lastModified ? -1 : 1; 
}); 

或者你可以扭轉陣列,假設它在這之前排序(concat()是用於製作陣列的副本,保持東西「不可變」):

this.props.files.concat().reverse(); 
0

這裏終於這樣做了。我添加一個條件。

if (this.state.activePrz==3) { 
     this.props.files.sort(function(a,b){ 
      var asc = a.lastModified < b.lastModified; 
      var desc = a.lastModified > b.lastModified; 
      if(asc == true){ 
       return asc; 
      }else{ 
       return desc; 
      } 
     }) 
    } 

它的工作原理。

我不能。

this.props.files.reverse(); 

this.props.files.concat().reverse(); 

錯誤消息是:

無法讀取未定義

很多的特性 '文件'感謝你我們的幫助。