У меня есть эта функция:Сортировка массива javascript, когда значение поля может быть нулевым?
tests.sort(function (a, b) {
var diff = a.title.localeCompare(b.title);
return diff == 0 ? b.modifiedDate.localeCompare(a.modifiedDate) : diff;
});
Я использую его, чтобы отсортировать tests
массив сначала title
, а затем modifiedDate
. Код работал, но теперь я обнаружил, что он дает ошибку. Когда значение modifiedDate равно null, и когда это происходит, сбой сравнивается.
Как я могу сделать так, чтобы, если modifiedDate
имеет значение null, сортировка по-прежнему работает и помещает эти строки после строк с измененной датой, которая не является нулевой?
я иногда мусор аргументы, как я работаю вниз возможности, так что вы можете сделать что-то вроде 'б = b.modifiedDate || 0, а = a.modifiedDate || 0 ; 'перед сравнением. – dandavis
Возможно, вы захотите взглянуть на [это] (http://stackoverflow.com/a/19103480/1048572) – Bergi
Простой 'diff == 0 && b.modifiedDate ...?' Не работает? – vol7ron