2015-04-02 53 views
2

如果我有类似的JavaScript如何在索引不连续的数组中同时按索引删除多个元素?

var A = [5,3,5,7,2,9,0,1,4,6,5,2]; 

数组如何从阵列中的一个步骤删除索引0,3,7,8?这是可能的,还是我需要遍历我想要删除的每个索引。请注意我想要删除的给定索引没有模式,并且是随机的。他们也没有排序(我想删除的指数)。

+1

循环出现了什么问题? – ZekeDroid 2015-04-02 00:21:25

+0

我想知道如果可能在一步。 – omega 2015-04-02 00:21:44

+0

什么构成*步* *? – 2015-04-02 00:22:33

回答

-1

在数组的原型中引入一个方法。现在每个数组都有自动的行为!

<!DOCTYPE html> 
<html lang="en"> 
<head> 
<script> 

var del = function(indicesToDelete) { 
for (i in indicesToDelete) { 
console.info(this); 
delete this[indicesToDelete[i]]; 
} 
} 

Array.prototype.del = del; 

var arr = [10,20, 30, 40, 50, 60]; 

//del([1, 3]); 

arr.del([1, 3]); 
alert(arr); 

var arr2 = [10000, 200000, 300000, 400000]; 

arr2.del([2, 4]); 

alert(arr2); 
</script> 
</head> 
<body> 

</body> 
</html> 
+0

谁投票否决不理解JavaScript的动态好处。 – 2015-04-02 00:36:20

+0

Downvoter here。 downvoted的人都明白,这会修改Array的原型,这是一种可疑的做法,并且明白你的代码仍然包含一个循环,并没有解释为了完成OP所要求的内容,不可能在某处*进行迭代。 – jdphenix 2015-04-02 00:37:40

+0

...并且你的代码通过delete属性删除数组索引,这也是可疑的,我怀疑这是OP询问的有关删除元素的问题。 – jdphenix 2015-04-02 00:39:05