如果我有一个对象列表:
var objectList= LIST_OF_OBJECT;
字符串列表中的每个对象包含三个属性:“姓名",“日期","性别”列表中的对象如何按照“date”属性升序排序?(the“date”属性包含字符串值,如“2002-08-29 21:15:31+0500”)
x8diyxa71#
如果您的对象在 String 字段中包含date信息:
yourArray.sort(function(a, b) { return new Date(a.date) - new Date(b.date) })
字符串或者,如果他们在 * 日期 * 字段中有:
yourArray.sort(function(a, b) { return a.date - b.date })
型
tyky79it2#
Array.sort方法接受一个sort函数,该函数接受两个元素作为参数,并应返回:
Array.sort
0,如果第一个大于第二个。
.
objectList.sort(function (a, b) { var key1 = a.date; var key2 = b.date; if (key1 < key2) { return -1; } else if (key1 == key2) { return 0; } else { return 1; } });
字符串幸运的是,在您提供的日期格式中,在另一个日期之前的日期也比使用字符串比较时的日期<。如果不是这种情况,你必须首先将字符串转换为日期:
<
objectList.sort(function (a, b) { var key1 = new Date(a.date); var key2 = new Date(b.date); if (key1 < key2) { return -1; } else if (key1 == key2) { return 0; } else { return 1; } });
pbgvytdp3#
yourArray.sort(function(a, b) { a = new Date(a.date); b = new Date(b.date); return a >b ? -1 : a < b ? 1 : 0; })
字符串
cx6n0qe34#
您可以尝试:
var a =[-1,0,5,4,3,2,6,1,1]; var b = totzarrange(a) console.log(b);
4条答案
按热度按时间x8diyxa71#
如果您的对象在 String 字段中包含date信息:
字符串
或者,如果他们在 * 日期 * 字段中有:
型
tyky79it2#
Array.sort
方法接受一个sort函数,该函数接受两个元素作为参数,并应返回:.
字符串
幸运的是,在您提供的日期格式中,在另一个日期之前的日期也比使用字符串比较时的日期
<
。如果不是这种情况,你必须首先将字符串转换为日期:型
pbgvytdp3#
字符串
cx6n0qe34#
您可以尝试:
字符串