Javascript中是否有等價的ruby數組[n..m]?Javascript數組:獲得'範圍'的項目
例如:
>> a = ['a','b','c','d','e','f','g']
>> a[0..2]
=> ['a','b','c']
感謝
Javascript中是否有等價的ruby數組[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']
最後一個索引是非包含的;爲了模仿紅寶石的行爲,你必須增加值end
。所以我猜slice
在紅寶石中的表現更像a[m...n]
。
a.slice(0, 3)
在你的例子中,將等價於你的函數。
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/slice
的Ruby和JavaScript都有一個slice method,但是要注意的是,在Ruby中切第二個參數是長度,但在JavaScript它是最後一個元素的索引:
var shortArray = array.slice(start, end);
在slice
第二個參數是可選的,太:
var fruits = ['apple','banana','peach','plum','pear'];
var slice1 = fruits.slice(1, 3); //banana, peach, plum
var slice2 = fruits.slice(3); //plum, pear
你也能傳遞一個負數,這SEL從陣列末端的效果:
var slice3 = fruits.slice(-3); //peach, plum, pear
這裏是W3學校的參考link。
如何鏈接到Mozilla的JavaScript引用,這比W3學校網站(與W3C無關)寫得多得多,而且寫得更好? https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array/slice – 2010-08-26 23:50:10
是的,咖啡! [新改進的範圍,切片,拼接和循環語法](https://github.com/jashkenas/coffee-script/issues/835)。 – 2011-05-18 23:02:40