2012-11-01 19 views
0

我有這樣一個數組:如何在javascript/jquery/undescore中將數組減少到特定數量?

["a", "b", "c", "d", "e"] 

現在我只想有第3項。我怎麼去掉最後兩個動態,這樣我也可以有一個20個字母的數組,但是也可以減少到前3個。

+0

請參考,如果你構建另一個數組什麼與前三個元素,比排除類似的問題http://stackoverflow.com/questions/3954438/remove-item-from-array-by-value – adamb

+0

原始數組,如果你不再需要它? – rafaelbiten

回答

5
var a = ["a", "b", "c", "d", "e"]; 
a.slice(0, 3); // ["a", "b", "c"] 

var b = ["a", "b", "c", "d", "e", "f", "g", "h", "i"]; 
b.slice(0, 3); // ["a", "b", "c"] 
2

splice函數似乎是你所追求的。你可以這樣做:

myArray.splice(3); 

這將刪除第三個之後的所有項目。

2

提取前三個值,使用slice

var my_arr = ["a", "b", "c", "d", "e"]; 
var new_arr = my_arr.slice(0, 3); // ["a", "b", "c"] 

要刪除最後一個值,使用splice

var removed = my_arr.splice(3, my_arr.length-3); // second parameter not required 
// my_arr == ["a", "b", "c"] 
0

在underscore.js我們可以使用第一功能

_.first(array,[n])別名:頭

返回數組的第一個元素。傳遞n將返回數組的前n個元素。

_.first(["a", "b", "c", "d", "e"],3); 
=> ["a", "b", "c"]