2013-03-03 14 views
0

我在JavaScript中设置了Arc和Line类,用于管理画布的很多弧线和线条。我打算有一个数组来管理它们,我想象需要添加或移除像ArrayList这样的元素。在JavaScript中像ArrayList一样管理数组:删除元素并关闭创建的间隙

Googling around后,似乎JavaScript并不直接支持这一点,最好的情况是当你想删除它时使元素为null。如果我错了,请告诉我。如果我没有错,那么最好的做法是什么?我应该根据这些方面做一个功能吗? (这个例子只是使用整数化繁为简)

var example = new Array(1, 2, 3, 4, 5, 6, 7, 8, 9); 
example[2] = null; 
example[7] = null; 

example = removeNulls(example); 
function removeNulls(inArr) { 
    var newArr = new Array(); 
    for (var i = 0; i < inArr.length; i++) if (inArr[i] != null) newArr.push(inArr[i]); 
    return newArr; 
} 
+0

查看'splice'方法。 – 2013-03-03 00:18:42

+0

只是一个建议 - 如果你想指定元素,不要使用'Array'构造函数。只有当你想定义它的长度时才使用它,否则使用'[1,2,3 ...]'。请记住,JavaScript不是Java。 – MaxArt 2013-03-03 00:20:47

+0

知道它的长度会很有用,使用它有什么问题? – asimes 2013-03-03 00:21:48

回答

2

您可以在阵列上使用.splice

+0

这似乎是做的工作,谢谢 – asimes 2013-03-03 00:22:19

+0

你可以标记为答案然后;) – Ven 2013-03-03 00:26:22

+0

在3分钟内,我可以:) – asimes 2013-03-03 00:27:31