Javascript - supprimer un élément de tableau par valeur [dupliquer]
cette question a déjà une réponse ici:
Ma situation:
var id_tag = [1,2,3,78,5,6,7,8,47,34,90];
  je voudrais   delete where id_tag = 90   et retourner: 
var id_tag = [1,2,3,78,5,6,7,8,47,34];
Comment faire?
10 réponses
  vous voulez utiliser JavaScript    tableau  splice  méthode   :  
var tag_story = [1,3,56,6,8,90],
    id_tag = 90,
    position = tag_story.indexOf(id_tag);
if ( ~position ) tag_story.splice(position, 1);
     P.S.    pour une explication de ce raccourci cool  ~  tilde, voir ce post:  
        utilisant une  ~  tilde avec  indexOf  pour vérifier l'existence d'un élément dans un tableau      .  
     Note:  IE < 9 ne supporte pas .indexOf()  sur les tableaux. Si vous voulez vous assurer que votre code fonctionne dans IE, vous devez utiliser le  $.inArray()  de jQuery:  
var tag_story = [1,3,56,6,8,90],
    id_tag = 90,
    position = $.inArray(id_tag, tag_story);
if ( ~position ) tag_story.splice(position, 1);
  si vous voulez soutenir IE < 9 mais n'avez pas déjà jQuery sur la page, il n'y a pas besoin de l'utiliser    juste    pour  $.inArray . Vous pouvez utiliser  ce polyfill   à la place.  
si vous allez l'utiliser souvent (et sur plusieurs tableaux), étendre l'objet Array pour créer une fonction unset.
Array.prototype.unset = function(value) {
    if(this.indexOf(value) != -1) { // Make sure the value exists
        this.splice(this.indexOf(value), 1);
    }   
}
tag_story.unset(56)
comme variante
delete array[array.indexOf(item)];
 si vous ne savez rien de l'opérateur delete ,  N'utilisez pas ce  .  
voici quelques fonctions d'aide que j'utilise:
Array.contains = function (arr, key) {
    for (var i = arr.length; i--;) {
        if (arr[i] === key) return true;
    }
    return false;
};
Array.add = function (arr, key, value) {
    for (var i = arr.length; i--;) {
        if (arr[i] === key) return arr[key] = value;
    }
    this.push(key);
};
Array.remove = function (arr, key) {
    for (var i = arr.length; i--;) {
        if (arr[i] === key) return arr.splice(i, 1);
    }
};
function removeValue(arr, value) {
    for(var i = 0; i < arr.length; i++) {
        if(arr[i] === value) {
            arr.splice(i, 1);
            break;
        }
    }
    return arr;
}
on peut l'appeler ainsi:
removeValue(tag_story, 90);
 utilisez .indexOf() et .splice() . Quelque chose comme:  
tag_story.splice(tag_story.indexOf(90),1);
j'aime utiliser un filtre:
var id_tag = [1,2,3,78,5,6,7,8,47,34,90];
// delete where id_tag = 90
id_tag = id_tag.filter(function(x) {
    if (x !== 90) {
      return x;
    }
});
vous pouvez utiliser lodash.js
_.pull (arrayName,valueToBeRemove);
dans votre cas :- _.pull (id_tag, 90);
var id_tag = [1,2,3,78,5,6,7,8,47,34,90]; 
var delete_where_id_tag = 90
    id_tag =id_tag.filter((x)=> x!=delete_where_id_tag);