Created
June 16, 2022 12:06
-
-
Save evgeniyworkbel/8ff77f2db36f5149ffde42753274de21 to your computer and use it in GitHub Desktop.
Курс "JS: Объекты" Hexlet.io
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/ |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Иногда в программировании возникает задача поиска разницы между двумя наборами данных, такими как объекты. Например, при поиске различий в json файлах. Для этого даже существуют специальные сервисы, например, http://www.jsondiff.com/ (попробуйте нажать на ссылку sample data и затем кнопку Compare). | |
solution.js | |
Реализуйте и экспортируйте по умолчанию функцию, которая сравнивает два объекта и возвращает результат сравнения в виде объекта. Ключами результирующего объекта будут все ключи из двух входящих объектов, а значением строка с описанием отличий: added, deleted, changed или unchanged. | |
Возможные значения: | |
added — ключ отсутствовал в первом объекте, но был добавлен во второй | |
deleted — ключ был в первом объекте, но отсутствует во втором | |
changed — ключ присутствовал и в первом и во втором объектах, но значения отличаются | |
unchanged — ключ присутствовал и в первом и во втором объектах с одинаковыми значениями | |
import genDiff from './diffGenerator.js'; | |
genDiff( | |
{ one: 'eon', two: 'two', four: true }, | |
{ two: 'own', zero: 4, four: true }, | |
); | |
// { | |
// one: 'deleted', | |
// two: 'changed', | |
// four: 'unchanged', | |
// zero: 'added', | |
// } | |
Подсказки | |
Фрагмент этой задачи разбирается в докладе "Ментальное программирование" https://www.youtube.com/watch?v=vkUTX1hruF8 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment