Сообщество любителей самого популярного языка программирования в мире. Публикация вакансий: @javascript_jobs Чаты: @frontend_ru @css_ru Каналы: @defront @frontendnoteschannel Флуд: @javascript_ru_flood Важно! http://nometa.xyz и http://neprivet.ru
не вижу причин, почему у автора это должно не получиться. если только он не пишет под древние браузеры
Читать полностью…например так: Array.from(Object.keys(o)).sort().map(k => [k, o[k]])
можно преобразовать объект, например, в массив, где порядок как раз гарантирован
Читать полностью…реализация может быть любой, спецификация не гарантирует порядка, я уже говорил
Читать полностью…неправильно Вы "так и делаете", ибо на выходе всё равно получится объект с непредсказуемым порядком свойств, идём по кругу
Читать полностью…Понятно. Так не получится. Если цель сделать хэш, нужно делать его поэтапно с каждым свойством объекта. Алгоритм примерно следующий:
получить ключи объекта,
отсортировать их однозначным образом,
получить хэш каждого свойства объекта, перебирая отсортированный массив ключей,
получить хэш всего объекта, используя хэши всех свойств.
мне не важен порядок, главное чтобы объекты с одинаковыми key-value в итоге имели одинаковый порядок ключей, они ведь не рандомом добавляются если сортировать, все равно какой-то порядок имеют
это для создания строкового кэш ключа
а на такой алгоритм можно расчитывать?
const sortedObj = Object.fromEntries(Читать полностью…
Object.keys(obj)
.sort()
.map(key => [key, obj[key]])
);
Ищу друга, только начал изучать Vue хочу с кем то изучать делится знаниями, работать в команде и т.д
Читать полностью…Если это не IE (уже не поддерживается даже MS), ничего не получится. Что-то открыть можно только внутри страницы, или в отдельной вкладке того же браузера
Читать полностью…@warning_bva можете пояснить своё недовольство? Интересно же
Читать полностью…вроде бы, это костыль для обратной совместимости с доисторическими временами, когда в ЖСе не было отдельных массисов, и их роль выполняли объекты
Читать полностью…как это нет? есть. просто ключи-числа >=0 идут первыми и по порядку. остальные — в порядке создания
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Statements/for...in
The traversal order, as of modern ECMAScript specification, is well-defined and consistent across implementations. Within each component of the prototype chain, all non-negative integer keys (those that can be array indices) will be traversed first in ascending order by value, then other string keys in ascending chronological order of property creation.Читать полностью…
да все ок начиная с ES2015 https://stackoverflow.com/a/54670669/1878180
Читать полностью…этот факт внезапно на другой реализации (или "завтра" на той же) может не сработать
Читать полностью…по факту конкретная реализация и все ок работает с кодом выше
Читать полностью…например два объекта, в каждый добавляем значения в одном порядке - на выходе объекты с одинаковой последовательностью ключей
Читать полностью…но он ведь не случайный каждый раз при создании объекта
Читать полностью…я так и делаю /channel/javascript_ru/333121/363916
только у меня еще есть условие, что объект всегда содержит примитивные значения, string | boolean | number | symbol
В плане упорядоченности ключей в объекте на выходе - опять же нет. По тем же причинам.
Вы какой цели добиваетесь? Зачем нужен определенный порядок ключей в объекте?
В спецификации JS вообще нет сортировки ключей. Нельзя рассчитывать на то, что ключи объекта хранятся в каком-то определенном порядке. Каждая реализация движка JS может делать это по своему. Считайте набор ключей просто множеством
Читать полностью…всем привет
почему ключи в объекте сортируются автоматически? я думал в js как добавляешь в объект так и получаешь
но ввожу в консоли например
{ 3: 'c', 1: 'a', 2: 'b' }
{1: 'a', 2: 'b', 3: 'c'}Читать полностью…
Виктория Васильева has been banned! Reason: CAS ban.
Читать полностью…Если это не IE (уже не поддерживается даже MS), ничего не получится
Читать полностью…