Есть ли эквивалент для ruby array[n..m]
в JavaScript?
Например:
>> a = ['a','b','c','d','e','f','g']
>> a[0..2]
=> ['a','b','c']
Есть ли эквивалент для ruby array[n..m]
в JavaScript?
Например:
>> a = ['a','b','c','d','e','f','g']
>> a[0..2]
=> ['a','b','c']
Используйте функцию array.slice(begin [, end])
.
var a = ['a','b','c','d','e','f','g'];
var sliced = a.slice(0, 3); //will contain ['a', 'b', 'c']
Последний индекс не является инклюзивным, чтобы имитировать поведение ruby, необходимо увеличить значение end
. Так что я думаю, что slice
ведет себя больше как a[m...n]
в рубине.
Второй аргумент в slice
тоже необязательный:
var fruits = ['apple','banana','peach','plum','pear'];
var slice1 = fruits.slice(1, 3); //banana, peach
var slice2 = fruits.slice(3); //plum, pear
Вы также можете передать отрицательное число, которое выбирает с конца массива:
var slice3 = fruits.slice(-3); //peach, plum, pear
Вот справочная информация по школам W3 ссылка.
a.slice(0, 3)
Будет эквивалентом вашей функции в вашем примере.
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/slice
a.slice(0, 3)
. slice в JavaScript не включает конечный индекс.
- person Anurag; 27.08.2010
В Ruby и Javascript есть метод среза, но будьте осторожны что вторым аргументом для среза в Ruby является длина, а в JavaScript это индекс последнего элемента:
var shortArray = array.slice(start, end);