Я искал, но не нашел именно того трюка, который мне нужен.
Я пытаюсь сравнить 2 массива объектов с одинаковыми ключами и обновить arr1, если значения в arr2 разные. Вот кодовая ручка, с которой можно поиграть.
let arr1 = [{val1: "dog", val2: "friendly"},{val1: "cat", val2: "fluffy"}]
let arr2 = [{val1: "cat", val2: "evil"},{val1: "mouse", val2: "tiny"},{val1: "hippo", val2: "big"}]
Ожидаемым результатом функции должно быть исправление объекта, включая val1:"cat" в arr1:
{val1: "cat", val2: "fluffy"} -----> {val1: "cat", val2: "evil"}
и обновленный arr1 должен вернуться следующим образом:
{val1: "dog", val2: "friendly"}, { val1: "cat", val2: "evil"}
Хитрость в том, что код также должен работать в обе стороны. Так, например, если в arr1 есть {val1: "большой", val2: "puma"}, он изменится на {val1: "big", val2: "бегемот"} путем замены "puma", поскольку значение "big" связан с «бегемотом» в обр.2.
Любые идеи о том, как этого добиться? Спасибо!