У меня есть следующий массив результатов в переменной contactArray. Здесь мне нужно отсортировать следующие записи по LastModifiedDate конкретной записи.
Во внешнем интерфейсе у меня есть 3 записи, и в первый раз я выбираю только одну запись, выполняю некоторые манипуляции с внутренним интерфейсом и снова показываю внешнему интерфейсу в порядке Asc.
(3) [{…}, {…}, {…}]
0: {Id: "0034E00000nNLPfQAO", Name: "Test Contact 1"}
1: {Id: "0034E00000nNLTbQAO", Name: "Test Contact 2", LastModifiedDate: "2019-03-28T09:53:00.000Z", Status__c: "Pending", Status_Reason__c: undefined}
2: {Id: "0034E00000nP8VuQAK", Name: "Test Contact 3"}
используя приведенный ниже фрагмент кода, sortedArray был похож на ниже,
(3) [{…}, {…}, {…}]
0: {Id: "0034E00000nNLTbQAO", Name: "Test Contact 2", LastModifiedDate: "2019-03-28T09:53:00.000Z", Status__c: "Pending", Status_Reason__c: undefined}
1: {Id: "0034E00000nNLPfQAO", Name: "Test Contact 1"}
2: {Id: "0034E00000nP8VuQAK", Name: "Test Contact 3"}
Вторая попытка выбрать другую запись отмены выбора из внешнего интерфейса,
(3) [{…}, {…}, {…}]
0: {Id: "0034E00000nNLPfQAO", Name: "Test Contact 1", LastModifiedDate: "2019-03-28T09:59:13.000Z", Status__c: "Pending", Status_Reason__c: undefined}
1: {Id: "0034E00000nNLTbQAO", Name: "Test Contact 2", LastModifiedDate: "2019-03-28T09:53:00.000Z", Status__c: "Pending", Status_Reason__c: undefined}
2: {Id: "0034E00000nP8VuQAK", Name: "Test Contact 3"}
и отсортированный массив был как показано ниже,
(3) [{…}, {…}, {…}]
0: {Id: "0034E00000nNLPfQAO", Name: "Test Contact 1", LastModifiedDate: "2019-03-28T09:59:13.000Z", Status__c: "Pending", Status_Reason__c: undefined}
1: {Id: "0034E00000nNLTbQAO", Name: "Test Contact 2", LastModifiedDate: "2019-03-28T09:53:00.000Z", Status__c: "Pending", Status_Reason__c: undefined}
2: {Id: "0034E00000nP8VuQAK", Name: "Test Contact 3"}
Ниже приведен фрагмент кода, который я использовал для сортировки массива,
var sortedContactArray = contactArray.sort(function(obj1, obj2) {
var tc1RefUndefined = obj1.LastModifiedDate == null ? 1 : 0;
var tc2RefUndefined = obj2.LastModifiedDate == null ? 1 : 0;
if (tc1RefUndefined || tc2RefUndefined) {
return new Date(tc1RefUndefined) - new Date(tc2RefUndefined);
}
});
Я что-то пропустил?