169 похожих чатов

Всем привет Помогите, как сделать общую функцию для сортировки объекта

по его отдельным ключам
Сейчас делаю так (для каждого отдельного ключа код по сути повторяется)
const handleSortByBalance = () => {
const copyUsers: User[] = users.slice();

const sortingByLoginDate: User[] = copyUsers.sort(function (a, b) {
const sort_1 = a.balance;
const sort_2 = b.balance;

return sort_2 ? -1 : sort_1 ? 1 : 0;
});

setSortByBalance(true);
setUsers(sortingByLoginDate);
};
Не могу придумать как вынести отдельными параметрами ключи объекта и потом в каждом хендлере их передавать
ПС.
Это ключи
const sort_1 = a.balance;
const sort_2 = b.balance;
хочу так:
const sort = function(obj, key1, key2) {return sortObj}

const handler1 = sort(obj, key1, key2)
const handler2 = sort(obj, newKey1, newKey2)
...

4 ответов

15 просмотров

const createFieldComparator = fieldName => (obj1, obj2) => obj1[fieldName] - obj2[fieldName] const data = [{name:'test', age:1},{name:'test', age:2},{name:'test', age:4},{name:'test', age:3}] data.sort(createFieldComparator('age'))

Taras- Автор вопроса
Danila
const createFieldComparator = fieldName => (obj1, ...

о, благодарю смотри что я написал но оно чёт не работает (

Taras- Автор вопроса
Danila
Ну то же самое но хуже )

спасибо) бл**ский ТС ещё проблем насыпает )

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта