Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/7: Рейтинг темы: голосов - 7, средняя оценка - 5.00
1 / 1 / 2
Регистрация: 13.04.2015
Сообщений: 197
1

Sort и минус (дефис) в значении объекта

13.09.2020, 14:49. Показов 1331. Ответов 2

Author24 — интернет-сервис помощи студентам
Добрый день.
Как можно реализовать сортировку по fullname, когда в имени в примере ниже есть дефис (минус):
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
let id_full_name_arr = [
  { person_id: 1, fullname: 'Волкова-Струкова Джема-Катерина Адольф-кызы' },
  { person_id: 3, fullname: 'Бабуля Михаил Орехович' },
  { person_id: 4, fullname: 'Анпритас Гриша Игоревич' },
  { person_id: 5, fullname: 'Афанасьева Яна Федотовна' },
  { person_id: 48, fullname: 'Анисимов Платон Миронович' },
  { person_id: 57, fullname: 'Большаков Овидий Адольфович' },
  { person_id: 61, fullname: 'Беспалов Мечеслав Мартынович' },
  { person_id: 64, fullname: 'Афанасьев Тимур Константинович' },
  { person_id: 69, fullname: 'Большаков Всеволод Кимович' },
  { person_id: 129, fullname: 'Большакова Гражина Ивановна' },
  { person_id: 151, fullname: 'Корапов Платон Запирович' } ]
Когда использую sort
Javascript
1
id_full_name_arr.sort((a, b) => a.fullname > b.fullname);
получаю
Javascript
1
2
3
4
5
6
7
8
9
10
11
[ { person_id: 57, fullname: 'Большаков Овидий Адольфович' },
  { person_id: 1, fullname: 'Волкова-Струкова Джема-Катерина Адольф-кызы' },
  { person_id: 4, fullname: 'Анпритас Гриша Игоревич' },
  { person_id: 5, fullname: 'Афанасьева Яна Федотовна' },
  { person_id: 48, fullname: 'Анисимов Платон Миронович' },
  { person_id: 3, fullname: 'Бабуля Михаил Орехович' },
  { person_id: 61, fullname: 'Беспалов Мечеслав Мартынович' },
  { person_id: 64, fullname: 'Афанасьев Тимур Константинович' },
  { person_id: 69, fullname: 'Большаков Всеволод Кимович' },
  { person_id: 129, fullname: 'Большакова Гражина Ивановна' },
  { person_id: 151, fullname: 'Корапов Платон Запирович' } ]
Полагаю и другие символу будут мешать (пользователь в имени может ввести всё, что хочет).
Как сделать сортировку?
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
13.09.2020, 14:49
Ответы с готовыми решениями:

Считывание свойств объекта содержащих дефис
Возникла проблема: при считывании в VBScript свойств тэга div невозможно считать параметры,...

Отсортировать массив методами Bubble Sort, Selection Sort и Insertion Sort
Дан одномерный массив из 10 целых чисел. Заполните массив автоматически случайными числами...

Сортировка объектов функцией sort() по данным объекта
Есть класс Man, при создании его объекта в вектор "люди" должно заносить этот объект. После вызова...

Метод get_Value объекта Range, Получение значении ячеек из Excel
Добрый день. Метод get_Value объекта Range (Excel), содержащего одну ячейку, возвращает значение...

2
Эксперт JS
6492 / 3903 / 2005
Регистрация: 14.06.2018
Сообщений: 6,781
13.09.2020, 15:46 2
Лучший ответ Сообщение было отмечено drugojandrew как решение

Решение

Здравствуйте.
Нужно просто подправить кривой компаризон.
Javascript
1
2
3
4
5
    id_full_name_arr.sort((a, b) => {
        let x = a.fullname;
        let y = b.fullname;
        return (x > y) - (x < y);
    });
1
1 / 1 / 2
Регистрация: 13.04.2015
Сообщений: 197
13.09.2020, 15:53  [ТС] 3
amr-now, спасибо.
0
13.09.2020, 15:53
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
13.09.2020, 15:53
Помогаю со студенческими работами здесь

Если память для объекта выделяется динамически (строка 33), сортировка sort не работает
Если память для объекта выделяется динамически (строка 33), сортировка sort не работает, если...

Ошибка 500 в менеджере модулей Joomla - Out of sort memory, consider increasing server sort buffer size
Привет! Подскажите что делать , когда такая проблема ?

Sort(), третий параметр: как sort() выбирает аргументы из переданной последовательности для переданной функции?
Вот sotr() 2 параметра - итераторы, а третий функцию. Допустим, моя функция сортирует список по...

Минус на минус - доказательство
В школе говрили,что просто запомнить это правило 11-(-3)=14 Хочу понять это логически ,чтоб в...

При одном значении g заполнить одну таблицу, а при другом значении g - вторую
Здравствуйте. Помогите пожалуйста решить проблему. По программе должны считаться определенные...

Заполнить массив единицами и минус единицами и поменять единицы и минус единицы местами
Помогите решить задачу,не могу понять как заполнить массив единицами и минус единицами в случайном...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru