从JS数组中删除对象到某个索引

时间:2011-09-01 08:11:27

标签: javascript arrays

我有一个数组:

array = [S1,S2,S3,S4_a,S4_b,S5_a,S5_b,S5_c etc....]

如何将最后一个对象中的所有对象删除到我给它的索引?

array.delte(最近:S3)

所以,我想删除downto S3,因此必须删除它之后的所有内容

new_array = [S1,S2,S3]

4 个答案:

答案 0 :(得分:2)

它认为你想要splice

array.splice(0, index);

答案 1 :(得分:2)

var a = [1, 2, 3, 4, 5, 6];

a = a.splice(0, 3);
// a is now [1, 2, 3]

或者,如果您不知道3的位置:

a = a.splice(0, a.indexOf(3) + 1);

请注意,有些浏览器没有实现Array.indexOf所以请考虑使用jQuery或prototype等库。

答案 2 :(得分:1)

使用javascript 数组拼接功能或数组切片功能。见:http://jsfiddle.net/

var origArray = new Array('a','b','c','d','e','f','g');
var myIndex = 4;
var origArray = origArray.slice(0,myIndex);  // is now ['a','b','c','d']

答案 3 :(得分:0)

删除索引后的所有内容:

var index=3;
var arr1=['a','b','c','d','e','f','g'];
arr1.length=index; // now arr1 contains ['a','b','c']

删除索引前的所有内容:

var index=3;
var arr1=['a','b','c','d','e','f','g'];
var arr2=arr1.slice(index); // now arr2 contains ['d','e','f','g']; arr1 remains unchanged