Здравствуйте! У меня появилась одна интересная задача. Есть массив объектов. Каждый объект из данного массива представляет из себя описание какой-то ошибки.
Каждый объект имеет такие свойства:
var object1 = {
'fieldName': 'dec_table_row_r74c1',
'error_code': parseInt('004', 10),
'msg' : 'Описание ошибки'
}
'fieldName' - это имя текстового поля, которая вызвала данную ошибку. То есть поле которое не было заполнена правильно.
'error_code' - это код ошибки
'msg' - это описание ошибки
Для общего представления: Есть страница с большой формой, каждое поле из этой формы имеет свои правила заполнения.
Если мы заполнили не правильно несколько полей, то перед отправки формы появляется список ошибок.
Пример списка с ошибками:
Строка 31, колонка 2 - код ошибки: 05-014. Описание ошибки: Вы не заполнили правильно поле
Строка 10, колонка 3 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 20, колонка 3 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 30, колонка 3 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 31, колонка 3 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 20, колонка 4 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 30, колонка 4 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 50, колонка 4 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 31, колонка 2 - код ошибки: 05-024. Описание ошибки: Вы не заполнили правильно поле
Суть задачи: Нужно отсортировать эти ошибки по коду ошибки(я это уже сделал), потом нужно отсортировать по строкам и потом по колонкам. Получается что надо отсортировать этот список таким образом:
Строка 31, колонка 2 - код ошибки: 05-014. Описание ошибки: Вы не заполнили правильно поле
Строка 10, колонка 3 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 20, колонка 3 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 20, колонка 4 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 30, колонка 3 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 30, колонка 4 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 31, колонка 3 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 50, колонка 4 - код ошибки: 05-021. Описание ошибки: Вы не заполнили правильно поле
Строка 31, колонка 2 - код ошибки: 05-024. Описание ошибки: Вы не заполнили правильно поле
Я уже отсортировал этот список по коду ошибки, используя функцию sort(), но не знаю как в тоже время отсортировать его по строкам и по колонкам.
Подскажите пожалуйста как можно эту задачу реализовать ?
Вот как я сделал сортировку по коду ошибки:
var object1 = {
'fieldName': 'dec_table_row_r74c1',
'error_code': parseInt('004', 10),
'msg' : 'Error a'
}
var object2 = {
'fieldName': 'dec_table_row_r74c2',
'error_code': parseInt('024', 10),
'msg' : 'Error b'
}
var object3 = {
'fieldName': 'dec_table_row_r74c3',
'error_code': parseInt('021', 10),
'msg' : 'Error c'
}
var object4 = {
'fieldName': 'dec_table_row_r74c4',
'error_code': parseInt('016', 10),
'msg' : 'Error d'
}
var arr_objects = [object1, object2, object3, object4];
arr_objects.sort(function(a, b){
return a.error_code - b.error_code;
});