//This prototype function allows you to remove even array from array
Array.prototype.remove = function(x) {
var i;
for(i in this){
if(this[i].toString() == x.toString()){
this.splice(i,1)
}
}
}
Exemple d'utilisation
var arr = [1,2,[1,1], 'abc'];
arr.remove([1,1]);
console.log(arr) //[1, 2, 'abc']
var arr = [1,2,[1,1], 'abc'];
arr.remove(1);
console.log(arr) //[2, [1,1], 'abc']
var arr = [1,2,[1,1], 'abc'];
arr.remove('abc');
console.log(arr) //[1, 2, [1,1]]
Pour utiliser cette fonction prototype, vous devez la coller dans votre code. Vous pouvez ensuite l'appliquer à n'importe quel tableau avec la "notation par points" :
someArr.remove('elem1')
8 votes
AVERTISSEMENT : certaines des réponses les plus votées peuvent avoir des effets secondaires, par exemple, effectuer de mauvaises opérations lorsque le tableau ne contient pas l'élément à supprimer. Veuillez les utiliser avec précaution .
0 votes
Cette réponse a fonctionné pour moi, avec un simple javascript : stackoverflow.com/a/5767357/4681687
0 votes
Voir mon commentaire sous l'utilisation de splice() et $.inArray(), j'ai résolu ce problème SANS l'utilisation d'une boucle, et c'est propre.