Comment obtenir les éléments précédents et suivants d'une boucle de tableau en JavaScript?
Dans un tableau simple boucle de Javacript comme
for (var i=0; i<array.length; i++) {
var previous=array[i-1];
var current=array[i];
var next=array[i+1];
}
J'ai besoin d'obtenir le previous
et next
éléments dans un cycle illimité. Par exemple,
The previous element of the first element in the array is the array last element
The next element of the last element in the array is the array first element
Ce qui peut être le moyen le plus efficace pour ce faire. La seule façon que je peux penser à est de vérifier si l'élément est le premier ou le dernier du tableau à chaque tour.
En fait, j'espère que le tableau d'un circuit fermé, en quelque sorte, plutôt que linéaire.
source d'informationauteur Googlebot
Vous devez vous connecter pour publier un commentaire.
que vous parlez de "cycle illimité" je suppose que votre boucle est quelque chose comme ça
La le moyen le plus efficace pour atteindre votre objectif est de la naïveté: vérification
évidemment cache la longueur du tableau dans une variable
et (meilleur style) "vars" le cycle
Noter que si vous accédez au tableau lecture seule il serait plus rapide (mais un peu étrange):
Utilisation module :
Note le
+len
lors de l'obtention de la précédente: la raison pour laquelle nous avons besoin c'est d'éviter des index négatifs, en raison de la façon dont le module fonctionne (très malheureusement,-x%
est-(x%)
)À ajouter à @Denys réponse - c'est comment vous pouvez créer une réutilisables fonction
Démo jsfiddle
vous devez réduire; un construit sweet fonction permettant d'obtenir précédent et suivant pour les valeurs de la matrice de