如何反向排序反应

时间:2017-08-24 10:11:57

标签: javascript reactjs

我试图在使用ReactJS点击时反转此类:

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

我在Google上尝试了许多技巧,但我仍然陷入困境。

3 个答案:

答案 0 :(得分:0)

只需调用reverse

即可反转数组
this.props.files.reverse()

请注意,这会改变原始数组。

答案 1 :(得分:0)

您可以通过交换Date1来更改排序方向(因为您似乎按-1排序):

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

或者您可以反转数组,假设它在执行之前已经排序(concat()用于制作数组的副本,保持“不可变”):

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

答案 2 :(得分: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();

错误消息是:

  

无法读取属性&#39;文件&#39;未定义的

非常感谢你的帮助。