我有一个对象数组,我想通过几个属性来排序。自定义array.sort函数与几个标准包括。布尔值
Im去展示阵列的单个元件
var ele = {
id: INT, various,
priority: INT 1 - 10,
shooterid: INT various,
targetid: INT various,
flight: BOOL
}
我想根据某些标准来命令阵列,我可以通过使用
if (a.priority != b-priority){
return a-priority - b-priority;
else if a.shooterid != b.shooterid){
return a.shooterid - b. shooterid
}
else return a.targetid - b.targetid
执行排序的优先级,射手和目标
但是,我也想通过航班进行排序,我想与flight = true
所有元素将在除了上述排序LAST排序。
我试图if (a.flight){return -1/0/1}
一个以上的最顶端,如果/自(添加其他的前身是如果),但它没有工作......
如何延长排序以包括BOOL道具?
请添加一些小样本数据。 –
只要做'飞行'比较你做的第一件事。如果“飞行”属性不同,那么没有其他问题。你说“没有”工作,但它会*工作;描述出了什么问题,否则没有人能真正帮助你。 – Pointy
你真的试过代码'return -1/0/1'吗?这是消极的'无限'(负数除以零除) - 是你想要的吗?或者你的意思是你单独尝试了每个值,而没有发挥作用? – apsillers