
JavaScript
Сравнение объектов js.
Ваши предложения? Ищу самое оптимальное и красивое.


К примеру, сериализовать объект в JSON и использовать JSON-представление в виде ключа
Самое оптимальное предложение из возможных: избавляйся от дебильности. Ведь ожидать что отдельные объекты будут иметь одинаковый/общий референс - нарушение, признак нездорового хода мыслей.
Это как имея два абсолютно одинаковых конверта, ожидать что они станут одним конвертом, если в них положить по одинаковому листу бумаги.
То есть, что мы имеем: объект Map, предполагающий логику здорового, умственно полноценного человека - и попытки прикрутить к нему "где-то сбоку" больную логику. Какой смысл? Такие попытки смысла не имеют, потому что код пишется не для странных "хочу", а для решения задач... когда нужно забить гвоздь, берут молоток! а не прикручивают к отвертке микроскоп, чтобы ей было удобнее гвозди забивать.
Почему это важно ПРИНЦИПИАЛЬНО: тот код, который предполагает идентичность объектов при идентичности из свойств - в любом случае получится плохим, так как он является продуктом нелогичного мышления. Именно мышление нужно исправлять в первую очередь, т. к. ошибки проектирования:
• неустранимы после реализации
• приводят к дальнейшим ошибкам в деталях (геом. прогрессия количества ошибок)
• гротескно усложняют простые алгоритмы (следствием чего является write-only код).
Вернувшись к конкретной практической ситуации: либо содержишь один мутируемый объект для использования в роли индекса (синглтон/композитный), либо создаешь более адекватный алгоритм решения задачи (той где предполагалось использовать ненормальное равенство отдельных объектов).
Это как имея два абсолютно одинаковых конверта, ожидать что они станут одним конвертом, если в них положить по одинаковому листу бумаги.
То есть, что мы имеем: объект Map, предполагающий логику здорового, умственно полноценного человека - и попытки прикрутить к нему "где-то сбоку" больную логику. Какой смысл? Такие попытки смысла не имеют, потому что код пишется не для странных "хочу", а для решения задач... когда нужно забить гвоздь, берут молоток! а не прикручивают к отвертке микроскоп, чтобы ей было удобнее гвозди забивать.
Почему это важно ПРИНЦИПИАЛЬНО: тот код, который предполагает идентичность объектов при идентичности из свойств - в любом случае получится плохим, так как он является продуктом нелогичного мышления. Именно мышление нужно исправлять в первую очередь, т. к. ошибки проектирования:
• неустранимы после реализации
• приводят к дальнейшим ошибкам в деталях (геом. прогрессия количества ошибок)
• гротескно усложняют простые алгоритмы (следствием чего является write-only код).
Вернувшись к конкретной практической ситуации: либо содержишь один мутируемый объект для использования в роли индекса (синглтон/композитный), либо создаешь более адекватный алгоритм решения задачи (той где предполагалось использовать ненормальное равенство отдельных объектов).
Иван Захаров
Это всё,хорошо, конечно. Но вопрос был в другом
Похожие вопросы
- Зачем разработчики js сделали так что там где могли быть функции они добавили методы встроенных объектов.
- Приколы JS со сравнением []==[]
- Какую структуру данных вы используете в разработке js приложений? Дерево? или Множество объектов? пояснение внутри
- Как сделать радномный выбор объекта? HTML, JS
- Помогите определиться с выбором нового языка (JS(TS) vs Java)
- Js фреймворки, что полезного можно для себя найти?
- В чем цель фреймворков js web?
- [HTML/CSS/JS] Как сохранять изменённые в .js данные оффлайн-сервера локально?
- Почему jQuery методы популярнее js методов при общении с ДоМ?
- ПОЧЕМУ JS ТАКОЙ НЕПОНЯТНЫЙ???