#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, которые я также привел выше в примере