0
votes

Comment utiliser JavaScript inclut pour filtrer le texte qui n'inclut pas de texte spécifique

J'ai une méthode qui reçoit une liste des photos sauvegardées et détermine le nombre de photos énumérées. Ce que je souhaite, c'est renvoyer le nombre de photos contenant le texte "Dangers biologiques" dans le nom. Voici mon code jusqu'à présent

getPhotoNumber(): void {
  this.storage.get(this.formID+"_photos").then((val) => {
    this.photoResults = JSON.parse(val);
    console.log("photoResults", this.photoResults);
    // photoResults returns 3 photos
      // Hazardscamera_11576868238023.jpg, 
      // Biological Hazardscamera_11576868238023.jpg,
      // Biological Hazardscamera_11576868351915.jpg
    this.photoList = this.photoResults.length;
    console.log("photoList", this.photoList); // returns 3
    this.photoListTwo = this.photoResults.includes('Biological Hazards').length; // I wish to return 2   
  }).catch(err => {
    this.photoList = 0;
  });
}


3 commentaires

Vous devrez vérifier chaque chaîne pour voir si elle inclut le texte que vous aimez.


Les photoresultats sont un tableau de 3 cordes


Vous pourriez Filtre () Photorésultats


3 Réponses :


0
votes

La méthode comprend renvoie boolean pour indiquer si le tableau contient une valeur ou non. Ce dont vous avez besoin est de filtrer votre tableau et de retourner sa longueur après. Vous devez remplacer la ligne: xxx

par ceci: xxx


0 commentaires

1
votes

solution rapide pour cela (désolé pour le manque de mieux formant, publication de mobile): xxx


0 commentaires

2
votes

Un moyen de faire cela est de .Filter () le tableau, puis calculez la longueur de ce tableau.

this.photoListTwo = this.photoResults.filter(photoString => {
 return photoString === 'Biological Hazards' //or whatever comparison makes sense for your data
}).length; 


3 commentaires

Votre réponse vient le plus proche de travailler mais retourne 0 pour la longueur. J'ai ajouté une capture d'écran du journal xcode


Je ne connaissais pas le format de votre chaîne, vous voudrez donc remplacer retour sur Photostring === 'Dangers biologiques' avec retour sur Photostring.Inclus ("Dangers biologiques") Bien. Org / fr-US / Docs / Web / JavaScript / ... ) Ne fonctionne pas sur IE, donc si cela est important, j'utiliserais la version de Rafael avec test () ou incluez une bonne polyfill.


Merci Monsieur! J'ai pensé qu'il y avait une inclusion là quelque part