73 votes

Tableau Javascript: obtenir des "gamme" des articles

Est-il un équivalent pour ruby tableau[n..m] en Javascript ?

Par exemple:

>> a = ['a','b','c','d','e','f','g']
>> a[0..2]
=> ['a','b','c']

Merci

128voto

Vivin Paliath Points 40975

Utiliser l' array.slice(begin [, end]) fonction.

var a = ['a','b','c','d','e','f','g'];
var sliced = a.slice(0, 3); //will contain ['a', 'b', 'c']

Le dernier indice est non exhaustive; pour imiter ruby comportement que vous avez à incrémenter l' end de la valeur. Donc je suppose slice se comporte plus comme a[m...n] en ruby.

19voto

David Hoerster Points 18815

Le deuxième argument en slice est facultatif, trop:

var fruits = ['apple','banana','peach','plum','pear'];
var slice1 = fruits.slice(1, 3);  //banana, peach, plum
var slice2 = fruits.slice(3);  //plum, pear

Vous pouvez également passer d'un nombre négatif, ce qui sélectionne à partir de la fin du tableau:

var slice3 = fruits.slice(-3);  //peach, plum, pear

Voici le W3 Écoles de référence de lien.

9voto

Robert Points 12091

a.slice(0, 3) Serait l'équivalent de votre fonction dans votre exemple.

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/slice

4voto

Douglas Points 10417

Ruby et Javascript ont tous deux une tranche de méthode, mais attention à ce que le deuxième argument de la tranche en Ruby, c'est la longueur, mais en JavaScript, il est l'indice du dernier élément:

var shortArray = array.slice(start, end);

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