Сопоставление старых объектов с новыми в JavaScript

#javascript #angularjs #arrays #javascript-objects

#javascript #angularjs #массивы #javascript-объекты

Вопрос:

У меня есть эта функция, но она имеет только один объект в каждой переменной, но на входе есть массив из 3 объектов.

 ctrl.func = function (oldDetails, newDetails) {
            var oldDetailsCollection =[];
            var newDetailsCollection = [];
            _.forEach(oldDetails, function (oldDetails) {
                oldDetailsCollection = _.find(oldDetails.doctorDetails);
            });
            _.forEach(newDetails, function (newDetails) {
                newDetailsCollection = _.find(newDetails.doctorDetails);
            });
    }
  

Теперь oldDetailsCollection и newDetailsCollection имеют точно такие же свойства, как показано ниже:

 iD
doctorName
  

Кроме того, входные данные содержат массив из 3 объектов с указанными выше свойствами, но я получаю только один раз значения свойств. Чего мне не хватает или как это исправить, чтобы сохранить массив из 3?

Пример:

У меня есть это:

 iD = 1 doctorName = "Alice"

iD= 2 doctorName = "Brown"

iD = 3 doctorName = "Stu"
  

Однако я получаю только первые значения

Комментарии:

1. Я немного смущен вашим вопросом. Можете ли вы показать свой текущий вывод массива и ожидаемый вывод массива?

2. @Ephraim: Большое вам спасибо, текущий вывод массива на данный момент в моем коде «oldDetails.doctorDetails» представляет собой массив из 3 объектов с идентификатором и именем доктора, как указано выше. Я ожидаю сопоставить то же самое с созданной мной переменной newObject, а затем сопоставить это обратно с родительским inputobject oldDetails

3. Какова ваша главная цель? Вы хотите скопировать массив oldDetails в oldDetailsCollection и т. Д.? Под копией я подразумеваю все элементы.

4. @Ephraim: элементами являются только iD и doctorName, которые я также привел выше в примере