我想从我的数组中删除一个项目,之后每个项目仍然有相同的索引。
实施例
var arr:Array = new Array();
arr[1] = 'One';
arr[2] = 'Two';
arr[3] = 'Three';
arr.splice(2, 1);
for(var index in arr) {
trace(index+':'+arr[index]);
}
输出:
1:One
2:Three
应该输出
1:One
3:Three
任何能帮助我一点点的人? : - )
答案 0 :(得分:0)
如果从数组中拼接元素,则刷新数组,并移动该索引后的元素以填充该索引。
如果你真的想让元素在同一个索引中,那么请用空字符串分配索引而不是拼接它。
试试这个:
array[1] = "";
代替,
array.splice(1, 1);
据我说,拼接是一种很好的练习方式。
答案 1 :(得分:0)
您可以使用delete运算符:
var arr:Array = new Array();
arr[1] = 'One';
arr[2] = 'Two';
arr[3] = 'Three';
delete arr[2];
for(var index in arr) {
trace(index+':'+arr[index]);
}
答案 2 :(得分:0)
我找到了解决问题的方法。
我将使用一个对象来保存我的项目,而不是使用数组。喜欢这个
var objArr = {1: 'One', 2: 'Two', 3: 'Three'};
当我删除时,我喜欢这样。
delete objArr[1];
我知道我不会得到数组函数。但就我而言,我不需要它们。