使用Javascript进行排序
我正在尝试让我的页面按事件id排序。目前,我的代码编写方式将获得第一条记录,例如,将是6719,然后是6700、6701、6702等。它应该是这样的6719、6718、6716,等等。让我知道我需要如何重写这段代码,以便按直接降序排序使用Javascript进行排序,javascript,sorting,Javascript,Sorting,我正在尝试让我的页面按事件id排序。目前,我的代码编写方式将获得第一条记录,例如,将是6719,然后是6700、6701、6702等。它应该是这样的6719、6718、6716,等等。让我知道我需要如何重写这段代码,以便按直接降序排序 function() { this.blockEvent(); this.sort(function(a, b) { return a.event_id < b.event_id ? 1 : 1 }); thi
function() {
this.blockEvent();
this.sort(function(a, b) {
return a.event_id < b.event_id ? 1 : 1
});
this.unblockEvent();
}
function(){
this.blockEvent();
this.sort(函数(a,b){
返回a.event\u id
如果事件id
s相等,则需要返回0
。不必根据值返回三个不同的值,只需返回它们的差异(如果它们都是数字)
this.sort(function(a, b) {
return b.event_id - a.event_id;
});
这是因为JavaScript函数接受一个函数,该函数返回一个数字作为输出,该数字应该是
var objects = [{
"event_id": 6701
}, {
"event_id": 6719
}, {
"event_id": 6710
}, {
"event_id": 6703
}];
console.log(objects.sort(function(a, b) {
return a.event_id - b.event_id;
}))
您可以按升序对它们进行排序,如下所示
var objects = [{
"event_id": 6701
}, {
"event_id": 6719
}, {
"event_id": 6710
}, {
"event_id": 6703
}];
console.log(objects.sort(function(a, b) {
return a.event_id - b.event_id;
}))
输出
[ { event_id: 6701 },
{ event_id: 6703 },
{ event_id: 6710 },
{ event_id: 6719 } ]
[ { event_id: 6719 },
{ event_id: 6710 },
{ event_id: 6703 },
{ event_id: 6701 } ]
如果要按降序对它们进行排序,只需将比较的数字颠倒过来即可
console.log(objects.sort(function(a, b) {
return b.event_id - a.event_id;
}));
输出
[ { event_id: 6701 },
{ event_id: 6703 },
{ event_id: 6710 },
{ event_id: 6719 } ]
[ { event_id: 6719 },
{ event_id: 6710 },
{ event_id: 6703 },
{ event_id: 6701 } ]
第四行代码在做什么?返回1或1?这仍然不起作用,它仍然让我比最高记录的最高记录高出一个记录。所以它仍然在做6719670167036704etc@Steven好吧,我不知道。您能编辑您的问题并显示实际数据吗?对不起,您的代码不起作用,我对您的示例做了一些错误。Thanks@Steven很高兴能帮上忙:)