Esiste un equivalente per l'array di ruby [n..m] in Javascript?Array Javascript: ottieni 'intervallo' di elementi
Ad esempio:
>> a = ['a','b','c','d','e','f','g']
>> a[0..2]
=> ['a','b','c']
Grazie
Esiste un equivalente per l'array di ruby [n..m] in Javascript?Array Javascript: ottieni 'intervallo' di elementi
Ad esempio:
>> a = ['a','b','c','d','e','f','g']
>> a[0..2]
=> ['a','b','c']
Grazie
Utilizzare la funzione array.slice(begin [, end])
.
var a = ['a','b','c','d','e','f','g'];
var sliced = a.slice(0, 3); //will contain ['a', 'b', 'c']
L'ultimo indice non è compreso; per simulare il comportamento di Ruby è necessario incrementare il valore end
. Quindi immagino che lo slice
si comporti più come a[m...n]
in rubino.
a.slice(0, 3)
Sarebbe l'equivalente della vostra funzione nell'esempio.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/slice
Ruby e JavaScript hanno entrambi un slice method, ma attenzione che il secondo argomento per affettare in Ruby è la lunghezza, ma in JavaScript è l'indice dell'ultimo elemento:
var shortArray = array.slice(start, end);
Il secondo argomento in slice
è facoltativo, troppo:
var fruits = ['apple','banana','peach','plum','pear'];
var slice1 = fruits.slice(1, 3); //banana, peach, plum
var slice2 = fruits.slice(3); //plum, pear
è anche possibile passare un numero negativo, che sel ette dalla fine della matrice:
var slice3 = fruits.slice(-3); //peach, plum, pear
Ecco il riferimento W3 Schools link.
Che ne dici del collegamento al riferimento javascript di Mozilla, che è molto più informativo e molto meglio scritto rispetto al sito delle scuole W3 (che non ha nulla a che fare con il W3C)? https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/slice –
sì, coffeescript! [Nuova gamma migliorata, slice, splice e loop syntax] (https://github.com/jashkenas/coffee-script/issues/835). –