Foros del Web » Programando para Internet » Javascript » Frameworks JS »

array con lógica angular

Estas en el tema de array con lógica angular en el foro de Frameworks JS en Foros del Web. Buenas. A ver si alguien puede orientarme un poco. Resulta que estoy recorriendo 2 arrays (un array con 6 registros y el otro array con ...
  #1 (permalink)  
Antiguo 18/03/2016, 07:46
 
Fecha de Ingreso: mayo-2015
Mensajes: 92
Antigüedad: 9 años, 6 meses
Puntos: 1
recorrer dos arrays

Buenas. A ver si alguien puede orientarme un poco.

Resulta que estoy recorriendo 2 arrays (un array con 6 registros y el otro array con 2 registros) para comparar unos datos.
La cosa es que los está recorriendo bien, pero al meter un else, me pasa que el último registro del array me lo pisa al volver a recorrerlo por segunda vez. A ver si me explico. Para cada registro del array de 6, me compara cada uno de los registros del segundo array. Pero justo en el último recorrido es como que me borra el valor que tiene y me coge el del else. (con el código se entenderá mejor)


Código:
for (var i in $scope.doctors) {

                    for (var j in $scope.downtimes) {
                        if ($scope.doctors[i].id === $scope.downtimes[j].doctor) {
                            if ($scope.downtimes[j].estado === 'totallyBussy') {
                                $scope.doctors[i].downtime = 'No disponible';
                                
                            } else if ($scope.downtimes[j].estado === 'partlyBussy') {
                                $scope.doctors[i].downtime = 'Parcialmente disponible';
                            } 
                        }
                        else {
                                $scope.doctors[i].downtime = 'Disponible';
                            }
                    }              
                }
Por pantalla me pinta bien todos los datos excepto el último (que debuggeando, la primera vez que hace la comparación me devuelve un 'no disponible' que es el valor que debe tomar, pero que al recorrerlo por segunda vez, me lo cambia a 'disponible'.

Agradezco de antemano cualquier ayuda.

:)

Última edición por lamenenchu; 21/03/2016 a las 06:08 Razón: recorrer dos arrays
  #2 (permalink)  
Antiguo 30/03/2016, 04:28
 
Fecha de Ingreso: agosto-2004
Ubicación: In front of PC
Mensajes: 21
Antigüedad: 20 años, 4 meses
Puntos: 0
Información Respuesta: recorrer dos arrays

Cita:
Iniciado por lamenenchu Ver Mensaje

Código:
for (var i in $scope.doctors) {

                    for (var j in $scope.downtimes) {
                        if ($scope.doctors[i].id === $scope.downtimes[j].doctor) {
                            if ($scope.downtimes[j].estado === 'totallyBussy') {
                                $scope.doctors[i].downtime = 'No disponible';
                                
                            } else if ($scope.downtimes[j].estado === 'partlyBussy') {
                                $scope.doctors[i].downtime = 'Parcialmente disponible';
                            } 
                        }
                        else {
                                $scope.doctors[i].downtime = 'Disponible';
                            }
                    }              
                }
Por pantalla me pinta bien todos los datos excepto el último (que debuggeando, la primera vez que hace la comparación me devuelve un 'no disponible' que es el valor que debe tomar, pero que al recorrerlo por segunda vez, me lo cambia a 'disponible'.

Agradezco de antemano cualquier ayuda.

:)
Si recorres $scope.doctors y a cada elemento lo llamas i, lo que te he puesto en negrita dentro del código, es i, no $scope.doctors[i].

Saludos

Etiquetas: angular
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:23.