Recherche de la chaîne correspondante dans le tableau javascript
J'ai un tableau de chaînes de caractères. J'ai besoin de trouver toutes les chaînes de caractères commençant par une clé.
pour exemple: si il y a un tableau ['apple','ape','open','soap']
lorsque l'objet de recherches avec une touche 'ap'
je devrais obtenir 'pomme' et 'singe' et pas 'savon'.
C'est en javascript.
source d'informationauteur Wind Chimez
Vous devez vous connecter pour publier un commentaire.
Utilisation indexOf @Annie suggéré. indexOf est utilisé pour la recherche de sous-chaînes à l'intérieur d'une chaîne donnée. Si il n'y a pas de match, il retourne
-1
sinon elle renvoie l'indice de départ de la première correspondance. Si cet indice est0
cela signifie que le match était au commencement.Un autre moyen est d'utiliser les expressions régulières. Utiliser le
^
caractère de match depuis le début de la chaîne. L'expression régulière:/^he/
correspondra à toutes les chaînes qui commencent par
"he"
comme "bonjour", "entendre", "hélium", etc. Letest
méthode pour les RegExp renvoie une valeur booléenne indiquant si oui ou non il y avait un match de succès. Le ci-dessus regex peuvent être testés dans le/^he/.test("helix")
qui renvoie true, alors que/^he/.test("sheet")
ne sera pas comme"he"
n'apparaît pas au début.En boucle sur chaque chaîne de caractères dans le tableau d'entrée, et de recueillir toutes les chaînes qui correspondent (à l'aide de indexOf ou d'une expression régulière) dans un nouveau tableau. Que nouveau tableau doit contenir ce que vous voulez.
Avec 2 améliorationssi contient, non seulement comme premier char, et il a un troisième paramètre pour définir la valeur retournée : true signifie que le retour juste le numéro de l'élément à l'intérieur du tableau d'indice (clé), de falsification ou de ce qui n'est pas accepté ou pas de valeur de retour de l'intégralité de la chaîne de tableau[élément], et si position=3', retourner les valeurs du tableau qui contient la chaîne de caractères exactement dans le " après = numéro de position, d'ici 3!