为什么数组在JavaScript中排序日期增加或减少日期? [英] why array is not sorted in javascript in increasing date or decreasing date?

查看:169
本文介绍了为什么数组在JavaScript中排序日期增加或减少日期?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想我的排序有.Objects日期property.I需要梳理我的升序或降序排列日期。我尝试这样的对象数组

I am trying to sort my array of objects .Objects have date property.I need to sort my array in ascending or descending dates .I try like this

https://jsfiddle.net/rxaLutgn/1/

function sort_by(field, reverse, primer) {

            var key = primer ?
                function (x) {
                    return primer(x[field])
                } :
                function (x) {
                    return x[field]
                };

            reverse = !reverse ? 1 : -1;

            return function (a, b) {
                return a = key(a), b = key(b), reverse * ((a > b) - (b > a));
            }
        }

这不排序数组中的升序或降序排列。

It not sorted array in ascending or descending order.

推荐答案

您的功能是搞砸了pretty,尝试

Your function is pretty messed up, try

function sort_by(field, reverse, primer) {

            var key = primer ?
                function (x) {
                    return primer(x[field])
                } :
                function (x) {
                    return x[field]
                };

            reverse = !reverse ? 1 : -1;

            return function (a, b) {
                a = new Date(key(a)), b = new Date(key(b));
                return reverse * (a-b);
            }
        }

您需要将日期字符串转换为日期排序,你也需要改变你的回报code。

You need to convert date strings to date to sort and also you need to change your return code.

小提琴

这篇关于为什么数组在JavaScript中排序日期增加或减少日期?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆