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 Réponses :
La méthode par ceci: p> comprend code> renvoie boolean code> 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:
solution rapide pour cela (désolé pour le manque de mieux formant, publication de mobile):
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;
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' Code> avec retour sur Photostring.Inclus ("Dangers biologiques") Code > 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
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 () Code>Photorésultats code>