230 votes

Créer un tableau de tous les entiers entre deux nombres, inclus, en Javascript/jQuery

Disons que j'ai la case à cocher suivante :

 <input type="checkbox" value="1-25" />

Pour obtenir les deux nombres qui définissent les limites de plage que je recherche, j'utilise le jQuery suivant :

 var value = $(this).val();
var lowEnd = Number(value.split('-')[0]);
var highEnd = Number(value.split('-')[1]);

Comment puis-je créer un tableau contenant tous les entiers compris entre lowEnd et highEnd , y compris lowEnd et highEnd eux-mêmes ? Pour cet exemple spécifique, évidemment, le tableau résultant serait :

 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25]

240voto

Ben Points 2009
var list = [];
for (var i = lowEnd; i <= highEnd; i++) {
    list.push(i);
}

164voto

ES6 :

Utilisez Array.from (docs ici ):

 console.log(
   Array.from({length:5},(v,k)=>k+1)
)

50voto

ErichBSchulz Points 1058

Je recommande fortement les bibliothèques underscore ou lo-dash :

http://underscorejs.org/#range

(Presque complètement compatible, apparemment lodash fonctionne plus rapidement mais le soulignement a un meilleur doco IMHO)

 _.range([start], stop, [step])

Les deux bibliothèques ont un tas d'utilitaires très utiles.

33voto

Pavel Podlipensky Points 3943

Ma version de la boucle ;)

 var lowEnd = 1;
var highEnd = 25;
var arr = [];
while(lowEnd <= highEnd){
   arr.push(lowEnd++);
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X