Angular - Contar un Array donde un atributo empiece por

 
Vista:

Contar un Array donde un atributo empiece por

Publicado por Ramon (2 intervenciones) el 21/03/2020 19:55:26
Buenas tardes, estoy intentando hacer un método que me cuente el número de elementos que tiene un Array que empiece por "RT:"

Para ello he desarrollado el siguiente código:

1
2
3
4
5
6
7
8
9
10
11
public getRowsRTs(idProyecto){
    this.twitterService.getTargets().subscribe((data) => {
      this.Twitter = data;
    });
 
    let countRT = this.Twitter.filter( tweet => tweet.mensaje.startsWith("RT:")).length;
    return countRT;
 
  }
 
}

Aquí, data me devuelve todos los Documentos que extrae Mongo, y me los mete en el Array de Twitter que tengo definido al principio del componente. Dentro de este Array cada elemento tiene diferentes atributos, como son _id, mensaje, fecha... yo lo que pretendo es que me cuente cuantos de esos documentos, el valor de mensaje, comienza por RT: y que me lo devuelva, este código, no me da ningún problema, pero no me devuelve absolutamente nada, no sé si alguien me podrñia ayudar.

Saludos!!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Sebastian
Val: 6
Ha mantenido su posición en Angular (en relación al último mes)
Gráfica de Angular

Contar un Array donde un atributo empiece por

Publicado por Sebastian (2 intervenciones) el 22/03/2020 23:33:16
Hola
Yo lo haría así

1
2
3
4
5
6
7
8
9
10
11
12
13
14
public getRowsRTs(idProyecto){
    this.twitterService.getTargets().subscribe((data) => {
      this.Twitter = data;
    });
 
    let countRT = 0;
    this.Twitter.forEach((item)=>{
      if(item.mensaje.startsWith('RT:')){
        countRT += 1;
      }
    });
    return countRT;
  }
}

Espero te sirva
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Contar un Array donde un atributo empiece por

Publicado por Ramon (2 intervenciones) el 23/03/2020 11:02:56
Lo acabo de intentar y no me devuelve nada, pero tampoco me da ningún tipo de error.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar