2013-06-04 27 views
2

我有一個數組。我想刪除任何超出第三項的項目,在陣列中留下'a','b'和'c'。我該怎麼做呢?刪除大於..的數組項。數字

//my array 
var array_name = ['a', 'b', 'c', 'd', 'e']; 

//Number of array items to remove 
var remove_array_items = 3; 

//Desired result 
var array_name = ['a', 'b', 'c']; 
+0

這不完全「的數組項數刪除」,如果你想用這個數字來結束。在你的例子中,你刪除了2個項目,而不是3個。 – ErikE

回答

4

你可以簡單地做:

array_name.splice(remove_array_items); 

刪除或一前一後的所有元素索引:remove_array_items


var array_name = ['a', 'b', 'c', 'd', 'e']; 
var remove_array_items = 3; 

// note this **modifies** the array it is called on 
array_name.splice(remove_array_items); 

// array_name is now ["a", "b", "c"] 
+0

你所引用的代碼不會刪除'd'後的所有內容嗎?當你有'splice(2)'或者應該是'array_name.splice(remove_array_items - 1)' –

+0

時,這是正確的。它刪除了包含'd'的所有內容。 – techfoobar

+1

選中此:http://jsfiddle.net/SYhXZ/ – techfoobar

3

通過簡單的設置截斷陣列它的.length降到一個更低的數字。

array_name.length = 3; 

DEMO:http://jsfiddle.net/hX29y/