Size: a a a

JavaScript Noobs — сообщество новичков

2020 August 03

AC

Alexander Chudesnov in JavaScript Noobs — сообщество новичков
_Ryner' :: IO ❄️
А там точно forEach нужен: а не map?
forEach точно нужен, так как итератор у нас по массиву ключей, но результатом операции является не массив, а объект.
источник

_:

_Ryner' :: IO ❄️ in JavaScript Noobs — сообщество новичков
Alexander Chudesnov
forEach точно нужен, так как итератор у нас по массиву ключей, но результатом операции является не массив, а объект.
Разве forEach может вообще возвращать результат?
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Alexander Chudesnov
forEach точно нужен, так как итератор у нас по массиву ключей, но результатом операции является не массив, а объект.
Как тогда улучшить?
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
_Ryner' :: IO ❄️
Разве forEach может вообще возвращать результат?
Он мутирует, он ничего не возвращает, но его плюс в том, что он даже при return не останавливается
источник

AC

Alexander Chudesnov in JavaScript Noobs — сообщество новичков
_Ryner' :: IO ❄️
Разве forEach может вообще возвращать результат?
Нет, не может, там обход объекта с заменой по месту
источник

_:

_Ryner' :: IO ❄️ in JavaScript Noobs — сообщество новичков
Ivan Bobchenkov
Он мутирует, он ничего не возвращает, но его плюс в том, что он даже при return не останавливается
Фишка в том что в коде используется return внутри forEach
источник

AC

Alexander Chudesnov in JavaScript Noobs — сообщество новичков
Ivan Bobchenkov
Как раз сорт функция самая идеальная, проблема у меня с тем, что я вернуть не могу мутированный массив, но все же, вот код
Вообще в этом коде конечно особого смысла нет, потому что sort на entries (которые являются обычными объектами) без функции сравнения просто вызовет toString на каждом ([object Object]) и отсортирует эти строки в алфавитном порядке
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Alexander Chudesnov
Вообще в этом коде конечно особого смысла нет, потому что sort на entries (которые являются обычными объектами) без функции сравнения просто вызовет toString на каждом ([object Object]) и отсортирует эти строки в алфавитном порядке
Мне так и надо
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Этот код - не деплойный
источник

AC

Alexander Chudesnov in JavaScript Noobs — сообщество новичков
Ivan Bobchenkov
Мне так и надо
А в чем смысл сортировки объектов по их дефолтному toString?
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Чисто дегенератское задание, если бы делал деплойным, там все на коллбеках было бы, а не вот так, как-нибудь
источник

AC

Alexander Chudesnov in JavaScript Noobs — сообщество новичков
Или он там переопределен где-то?
источник

AC

Alexander Chudesnov in JavaScript Noobs — сообщество новичков
Ну если и так норм, то я не понимаю, чего тут и зачем улучшать :)
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Ну, если по скринам посмотрите, то там два одинаковых объекта, только порядок разный, вот он их приводит к 1
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Alexander Chudesnov
Ну если и так норм, то я не понимаю, чего тут и зачем улучшать :)
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Вот это дело
источник

IB

Ivan Bobchenkov in JavaScript Noobs — сообщество новичков
Я по факту ещё зелёный, поэтому и спрашиваю что можно сделать лучше :)
источник

AC

Alexander Chudesnov in JavaScript Noobs — сообщество новичков
Так если тебе надо, чтобы объекты создавались с конкретным порядком ключей, надо тогда сортировать не просто дефолтным алгоритмом entries.sort(), а передавать туда функцию которая будет сравнивать значения key https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
источник

AC

Alexander Chudesnov in JavaScript Noobs — сообщество новичков
Под key я понимаю первый элемент в возвращаемом Object.entries массиве https://developer.mozilla.org/ru/docs/Web/JavaScript/Reference/Global_Objects/Object/entries
источник

AC

Alexander Chudesnov in JavaScript Noobs — сообщество новичков
Alexander Chudesnov
Вообще в этом коде конечно особого смысла нет, потому что sort на entries (которые являются обычными объектами) без функции сравнения просто вызовет toString на каждом ([object Object]) и отсортирует эти строки в алфавитном порядке
Сорян, тут ошибся, забыл, что entries() возвращает массив :)
источник