#javascript #angularjs #mean-stack #for-in-loop
#javascript #angularjs #значение-stack #for-in-loop
Вопрос:
я перебираю множество объектов в массиве, и то, что я хочу сделать, это установить значение каждого объекта во время цикла, используя цикл for-in. вот мой код:
StudentFactory.searchAttendances($scope.form)
.then(function(data) {
var attendanceData = data.data.attendanceInfo;
for(var key in attendanceData){
checkDate(attendanceData[key].meta.updated);
if(!attendanceData.pickup_time){
console.log('hello');
var check = checkDate(attendanceData[key].meta.updated);
console.log('check',check);
if(check.length > 0){
if(check.firstDate.pickup_time){
attendanceData[key].pickup_time = check.firstDate.pickup_time;
}
if(check.lastDate.pickup_time){
attendanceData[key].pickup_time = check.lastDate.pickup_time;
}
}
}
if(!attendanceData.dropup_time){
console.log('hey');
var check = checkDate(attendanceData[key].meta.updated);
if(check.length > 0){
if(check.firstDate.dropup_time){
attendanceData[key].dropup_time = check.firstDate.dropup_time;
}
if(check.lastDate.dropup_time){
attendanceData[key].dropup_time = check.lastDate.dropup_time;
}
}
}
}//for ends
$scope.attendances = attendanceData;
}, function(error) {
console.log('error');
console.log(error);
})
функция checkDate, используемая между ними, работает отлично, все, что я хочу выполнить, это установить свойство объекта.
attendanceData[key].dropup_time = check.lastDate.dropup_time;
этот подход не работает.
любое предложение было бы высоко оценено.
Комментарии:
1. Я предполагаю, что
check
это будет объект. Таким образом, вашеif
утверждение после определенияcheck
никогда не будет истинным: ` если (проверить. длина > 0)`, если вы не устанавливаете какое-либо свойство length2. @taguenizy ты меня поймал 🙂 . я должен проверить, пуст объект или нет, вместо этого я использовал свойство array для проверки пустого объекта.