2017-08-24 47 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(); 

错误消息是:

无法读取未定义

很多的特性 '文件'感谢你我们的帮助。