установка значения с помощью javascript цикла for-in

#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)`, если вы не устанавливаете какое-либо свойство length

2. @taguenizy ты меня поймал 🙂 . я должен проверить, пуст объект или нет, вместо этого я использовал свойство array для проверки пустого объекта.