Глубокое сравнение объектов и ориентация на свойства в JavaScript - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь выяснить, существуют ли какие-либо es6 (или внешние библиотеки) способы для выполнения глубокого сравнения и анализа объектов в JavaScript.

Возьмите следующий пример, где у меня есть свойство history, которое представляет собой массив, встроенный в свойство services, которое также является массивом:

 {
   _id: 4d39fe8b23dac43194a7f571,
   name: {
     first: "Jane",
     last: "Smith"
   }
   services: [
    {
     service: "typeOne",
     history: [ 
       { _id: 121, 
         completed: true,
         title: "rookie"
       },
       { _id: 122, 
         completed: false,
         title: "novice"
       } 
      ]
     },
     {
      service: "typeTwo",
      history: [ 
       { _id: 135, 
         completed: true,
         title: "rookie"
       },
       { _id: 136, 
         completed: false,
         title: "novice"
       } 
      ]
     }
   ]
 }

Теперь,скажем, новый элемент помещается в массив «history» во втором элементе «services», где (service: «typeTwo») - в массиве «services».Мне нужно определить, что произошло, и вытащить весь родительский элемент, потому что мне также нужно знать, в какой «сервис» в массиве «services» добавлен новый элемент «history».

Есть ли способЯ могу сканировать весь этот объект и не только определить, когда что-то изменилось, но и реально вытащить раздел, на который мне нужна ссылка?Я открыт для выбора нативной библиотеки JS или JS.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...