JavascriptにRubyのarray [n..m]に相当するものはありますか?
例えば:
>> 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]
Rubyで。
a.slice(0, 3)
は、この例の関数に相当します。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/slice
slice
の2番目の引数もオプションです。
var fruits = ['Apple','banana','Peach','Plum','pear'];
var slice1 = fruits.slice(1, 3); //banana, Peach, Plum
var slice2 = fruits.slice(3); //Plum, pear
配列の末尾から選択する負の数を渡すこともできます。
var slice3 = fruits.slice(-3); //Peach, Plum, pear
W3 Schoolsリファレンス link です。
RubyとJavascriptの両方に スライスメソッド がありますが、スライスの2番目の引数Rubyは長さですが、JavaScriptでは最後のインデックスです素子:
var shortArray = array.slice(start, end);