Donc, j'ai 3 champs de saisie de texte, l'entrée que je stocke dans le stockage local en tant que réseau d'objets.
On dirait que: Je dois pouvoir supprimer n'importe quelle entrée que je choisis et mettre à jour le stockage local. P> Après JSON.PARSE, je reçois un objet JavaScript, pas déployer.
Si j'utilise supprimer [x], il laisse NULL - P> [null, {name: " Name2", description: "Description2", comment: "Comment2"},â¦]
0: null
1: {name: " Name2", description: "Description2", comment: "Comment2"}
2: {name: " Name3", description: "Description3", comment: "Comment3"}
5 Réponses :
Au lieu de mutater le tableau, filtrez-le: Exemple:
const newArr = [...].filter(o => o.name != <name you want to remove>)
Vous avez plusieurs options pour faire cela.
Option 1: . Splice () P>
La méthode de l'épissure () modifie le contenu d'un tableau en supprimant ou en remplaçant les éléments existants et / ou en ajoutant de nouveaux éléments en place. P> blockQuote>
p>
const data = [{name: "Name1", description: "Description1", comment: "Comment1"}, {name: " Name2", description: "Description2", comment: "Comment2"}, {name: " Name3", description: "Description3", comment: "Comment3"}]; console.log(data.filter(item => item && item.name !== 'Name1'))
Si vous souhaitez supprimer des éléments d'un tableau, vous utilisez une méthode de tableau si vous souhaitez supprimer l'élément de l'objet p> alors Newarray est sans valeur null p> p>
Assurez-vous toujours d'obtenir les valeurs, la matrice mise à jour et la définir à nouveau. J'espère que cela aide.
const data = [
{ name: " Name1", description: "Description1", comment: "Comment1" },
{ name: " Name2", description: "Description2", comment: "Comment2" },
{ name: " Name3", description: "Description3", comment: "Comment3" }
];
const setLS = arr => localStorage.setItem("my_data", JSON.stringify(arr));
const getLS = () => JSON.parse(localStorage.getItem("my_data"));
const removeItemLS = obj => {
const current = getLS();
setLS(current.filter(item => item.name !== obj.name));
};
setLS(data);
getLS();
// (3) [{â¦}, {â¦}, {â¦}]
removeItemLS({ name: " Name2" });
getLS();
// (2) [{â¦},{â¦}]
Comment le supprimez-vous?