Basculer des valeurs dans et hors d’un tableau en Javascript

Je veux avoir un tableau simple de valeurs, à savoir

var simpleArray = ["SE1","SE2","SE3"]; 

Je souhaite vérifier ce tableau lorsqu’une action se produit (un clic sur une couche de carte Google), qui transmettra une valeur à cette fonction et appenda la valeur au tableau ou la supprimera du tableau s’il existe déjà.

Je suis maintenant un peu confus d’avoir vu .splice / push / inArray / indexOf (cela ne fonctionne pas dans IE) / grep (jQuery) – je ne sais pas quelle est la meilleure pratique.

En supposant que l’ordre des éléments importe peu, vous pouvez faire quelque chose comme ceci:

 function toggleArrayItem(a, v) { var i = a.indexOf(v); if (i === -1) a.push(v); else a.splice(i,1); } 

La méthode .indexOf() fonctionne dans IE à partir de la version 9, mais si vous devez prendre en charge des versions plus anciennes d’IE, vous pouvez utiliser un shim comme expliqué à MDN . Ou si vous utilisez jQuery, utilisez quand même $.inArray() place.