我有一个看起来像这样的对象模型:
MyObject = {
TheName: "",
OtherProps :....
}
我有一个这些对象的数组,我的自定义排序函数如下所示:
function SortArray() {
var CustomFunction;
var CustomSortAsc = function (a, b) {
return a['TheName'] - b['TheName'];
}
var CustomSortDsc = function (a, b) {
return b['TheName'] - a['TheName'];
}
if (SomeCondition) {
CustomFunction = CustomSortAsc;
} else {
CustomFunction = CustomSortDsc;
}
SomeArray.sort(CustomFunction);
}
SomeArray
里面有大约 200-300 个对象,问题是有时对象有一个空TheName
属性。因此,排序似乎没有按预期工作。例如,如果有值,则按名称排序,然后根据排序函数将所有没有名称的值放入。
使这项工作的方法是什么?感谢您的建议。