JavaScript

Сравнение объектов js.

Ваши предложения? Ищу самое оптимальное и красивое.
Иван Захаров
Иван Захаров
8 711
К примеру, сериализовать объект в JSON и использовать JSON-представление в виде ключа
GV
Gayrat Vasiev
53 003
Лучший ответ
Самое оптимальное предложение из возможных: избавляйся от дебильности. Ведь ожидать что отдельные объекты будут иметь одинаковый/общий референс - нарушение, признак нездорового хода мыслей.
Это как имея два абсолютно одинаковых конверта, ожидать что они станут одним конвертом, если в них положить по одинаковому листу бумаги.
То есть, что мы имеем: объект Map, предполагающий логику здорового, умственно полноценного человека - и попытки прикрутить к нему "где-то сбоку" больную логику. Какой смысл? Такие попытки смысла не имеют, потому что код пишется не для странных "хочу", а для решения задач... когда нужно забить гвоздь, берут молоток! а не прикручивают к отвертке микроскоп, чтобы ей было удобнее гвозди забивать.

Почему это важно ПРИНЦИПИАЛЬНО: тот код, который предполагает идентичность объектов при идентичности из свойств - в любом случае получится плохим, так как он является продуктом нелогичного мышления. Именно мышление нужно исправлять в первую очередь, т. к. ошибки проектирования:
• неустранимы после реализации
• приводят к дальнейшим ошибкам в деталях (геом. прогрессия количества ошибок)
• гротескно усложняют простые алгоритмы (следствием чего является write-only код).

Вернувшись к конкретной практической ситуации: либо содержишь один мутируемый объект для использования в роли индекса (синглтон/композитный), либо создаешь более адекватный алгоритм решения задачи (той где предполагалось использовать ненормальное равенство отдельных объектов).
Нуржан Кулбаев
Нуржан Кулбаев
77 704
Иван Захаров Это всё,хорошо, конечно. Но вопрос был в другом