JavaScript - 数组 - 从数组中删除元素

时间:2016-07-10 01:22:37

标签: javascript arrays

我已经查找了数组以及它们是如何工作的,看了很多关于同一主题的其他stackoverflow问题,但答案仍然不明确。如何从数组中删除指定的元素?

我试过了:

array.splice(5);
array.splice(i, 5);
delete array[5]; //doesn't actually delete - I know
每次都会发生两件事中的一件事。 1.使用上述前两种方法中的任何一种删除整个数组。或2.删除指定元素之前/之后的所有内容。

例如,我有一个包含Clash Royale牌组的阵列:

var deck = ["Barbarians", "Goblin_Barrel", "Inferno_Tower", "Fireball", "Zap", "Hog_Rider", "Spear_Goblins", "Minion_Horde"];

然后,如果我想删除,比方说,Fireball,那么我做了:

deck.splice("Fireball");

阵列现在看起来像这样:

deck = [];

所以,重述我的问题。如何从数组中删除指定的,仅指定的元素?

2 个答案:

答案 0 :(得分:0)

检查JavaScript referencesplice的使用情况。您需要传递要删除的东西的索引,然后传递要删除的内容。

答案 1 :(得分:0)

首先找到元素的索引,然后使用splice删除它。

查找元素索引

var index = deck.indexOf("Fireball"); 

现在使用splice删除元素。

if (index > -1) {
   deck.splice(index,1);
 }

如果存在重复值,则

for(ind = 0 ; ind <deck.length; ind++){
    if(deck[ind]=="Fireball"){
       deck.splice(ind--,1); 
     }
}  
相关问题