gpt4 book ai didi

javascript - 按参数排序

转载 作者:行者123 更新时间:2023-11-30 08:09:31 25 4
gpt4 key购买 nike

这应该是一件非常简单的事情,但我在解决这个问题时遇到了问题。我正在尝试实现一种将所有一种类型的对象移动到列表顶部的排序。例如,任务列表,我想对其进行排序,以便特定所有者的所有任务都出现在列表的顶部。这就是我现在拥有的:

    this.sortByOwner = function(owner) {
return tasks.sort(function(a, b) {

var nameA = a.ownerUser.displayName.toLowerCase();
var nameB = b.ownerUser.displayName.toLowerCase();

var displayName = owner.displayName.toLowerCase();

if (nameA == displayName) //sort string descending
return -1;
else if (nameA == "")
return 1;
return 0; //default return value (no sorting)
});
};

但这并不完全正确。他们似乎确实在对任务进行分组,但不幸的是,用户任务并没有出现在顶部。我希望看到的是特定人员拥有的任务将出现在顶部。我在这里做错了什么?

包括一个基本的 JSFiddle 示例:http://jsfiddle.net/zJwUn/5/

最佳答案

您没有处理 nameBdisplayName 的情况。这对我有用:

function sortByOwner(owner) {
return tasks.sort(function(a, b){
var nameA=a.displayName.toLowerCase(), nameB=b.displayName.toLowerCase();
var displayName = owner.displayName.toLowerCase();
if (nameA == displayName) //sort string descending
return -1;
if (nameA == "")
return 1;
if (nameB == displayName) //sort string descending
return 1;
if (nameB == "")
return -1;
return 0; //default return value (no sorting)
})
}

关于javascript - 按参数排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12536073/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com