2013-06-04 25 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/