Javascript Array: get 'range' of items

后端 未结 4 2100
谎友^
谎友^ 2020-11-29 07:54

Is there an equivalent for ruby\'s array[n..m] in Javascript ?

For example:

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


        
相关标签:
4条回答
  • 2020-11-29 08:21

    The second argument in slice is optional, too:

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

    You can also pass a negative number, which selects from the end of the array:

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

    Here's the W3 Schools reference link.

    0 讨论(0)
  • 2020-11-29 08:23

    Ruby and Javascript both have a slice method, but watch out that the second argument to slice in Ruby is the length, but in JavaScript it is the index of the last element:

    var shortArray = array.slice(start, end);
    
    0 讨论(0)
  • 2020-11-29 08:28

    Use the array.slice(begin [, end]) function.

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

    The last index is non-inclusive; to mimic ruby's behavior you have to increment the end value. So I guess slice behaves more like a[m...n] in ruby.

    0 讨论(0)
  • 2020-11-29 08:32

    a.slice(0, 3) Would be the equivalent of your function in your example.

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

    0 讨论(0)
提交回复
热议问题