Existe-t-il un équivalent pour le tableau de Ruby [n..m] en Javascript?
Par exemple:
>> a = ['a','b','c','d','e','f','g']
>> a[0..2]
=> ['a','b','c']
Merci
Utilisez la fonction array.slice(begin [, end])
.
var a = ['a','b','c','d','e','f','g'];
var sliced = a.slice(0, 3); //will contain ['a', 'b', 'c']
Le dernier index n'est pas inclusif; pour imiter le comportement de Ruby, vous devez incrémenter la valeur end
. Donc je suppose que slice
se comporte plus comme a[m...n]
en Ruby.
a.slice(0, 3)
Serait l'équivalent de votre fonction dans votre exemple.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/slice
Le deuxième argument de slice
est également facultatif:
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 un nombre négatif, qui sélectionne à la fin du tableau:
var slice3 = fruits.slice(-3); //Peach, Plum, pear
Voici la référence des écoles W3 lien .
Ruby et Javascript ont tous les deux un méthode de tranche , mais attention que le deuxième argument à couper en Ruby est la longueur, mais en JavaScript c'est l'index du dernier élément:
var shortArray = array.slice(start, end);