给定一个带有ko映射对象的list(),其中包含以下字段: 对象
名 状态(开,关或空闲)
我可以返回按状态分组的列表,然后按字母顺序排列如下:
this.list().sort(function (a, b) {
if (a.status() == b.status()) {
return a.name().toLowerCase() < b.name().toLowerCase() ? -1 : 1;
} else {
return a.status() > b.status() ? -1 : 1;
}
});
问题是当一个statu被设置为空闲时,当我只想要打开或关闭状态分组时,它正在制作3个组,忽略任何其他状态var。
这是否只能通过ON&amp; amp;关闭并忽略所有其他status()变量,如idle?
谢谢
答案 0 :(得分:1)
您希望将空闲视为“开启”,然后执行您一直在进行的排序/分组:
this.list().sort(function (a, b) {
var aStatus = a.status() !== "idle" ? a.status() : "on",
bStatus = b.status() !== "idle" ? b.status() : "on"
if (aStatus == bStatus) {
return a.name().toLowerCase() < b.name().toLowerCase() ? -1 : 1;
} else {
return aStatus > bStatus ? 1 : -1;
}
});