Я работаю над небольшим инструментом для разрешения конфликтов слияния в json файлах. Моя проблема в том, что я не могу найти правильные объекты для сравнения в массиве.
пример массивов:
array1 > [ {"a": [2, 5]}, {"b": [6, 2]}, {"c": [9, 12], "something": true} ]
array2 > [ {"a": [2, 5, 6]}, {"b": [2]}, {"c": [9, 7, 12]} ]
Теперь при переборе array1
и поиске {"b": [6, 2]}
я хочу найти {"b": [2]}
в array2
.
Итак, мой результат должен быть:
array > [ {"a": [2, 5, 6]}, {"b": [6, 2]}, {"c": [9, 7, 12], "something": true} ]
Моя попытка была сохранить подобные атрибуты. Поэтому, если я нахожу атрибут «а» в одном объекте в массиве 1 и в одном объекте в массиве 2, я объединяю их.
Если я нахожу атрибут> 2 раза, мне придется копать глубже и посмотреть, какие из объектов имеют аналогичные значения и т. д.
Существует ли для этого существующий алгоритм / концепция / метод? Может быть, моя попытка безнадежная причина?