Bienvenue à Blogs CodeS-SourceS Identification | Inscription | Aide

Atteint de JavaScriptite Aiguë [Cyril Durand]

Expert ASP.net Ajax et WCF, Cyril Durand parle dans son blog de point techniques sur ASP.net, ASP.net Ajax, JavaScript, WCF et .net en général. Cyril est également consultant indépendant, n'hésitez pas à le contacter pour de l'assistance sur vos projets

Actualités

  • Blog de Cyril DURAND, passionné de JavaScript, Ajax, ASP.net et tout ce qui touche au developpement Web Client-Side.

    N'hésitez pas à me contacter pour vos projets .net : architecture, accompagnement, formation, ...

    View Cyril Durand's profile on LinkedIn
    hit counters


    Expertise Commerce server et BizTalk

[JavaScript] Le mot clé delete - Supprimer une propriété d'un objet

Un des mots clés les moins connus de JavaScript est sans doute le mot clé delete (msdn | mozdev). Ce mot clé permet de supprimer une propriété (expando attribute) d'un objet JavaScript.

Par exemple, nous avons un objet o qui contient 3 propriétés a, b, c. Nous pouvons boucler sur le nom des propriétés grâce à l'instruction for in :

var o = {a : 1, b : 2, c : 3}; for(var s in o) Sys.Debug.trace(s); // return a, b, c

Pour supprimer un élément de cet objet, le définir à null ou undefined ne nous sera d'aucune utilité.

var o = {a : 1, b : 2, c : 3}; o.b = null; // ou o.b = undefined; for(var s in o) Sys.Debug.trace(s); // return a, b, c

Si l'on veut supprimer la propriété il faut utiliser le mot clé delete :

var o = {a : 1, b : 2, c : 3}; delete o.b; for(var s in o) Sys.Debug.trace(s); // return a, c

A quoi sert cet astuce ? je me sert très souvent d'un objet comme un dictionnaire (o[key] = value), pour supprimer un élément de ce dictionnaire il faut alors avoir recours à cette astuce.

Le mot clé delete fonctionne également avec les tableaux. Mais attention l'ordre des éléments n'est pas décalé et la taille du tableau n'est pas modifié ! L'instruction delete est alors équivalente à assigner undefined à la position voulue :

var l = ['a', 'b', 'c']; Sys.Debug.trace(l[1]); // => b delete l[1]; // equivalent a l[1] = undefined; Sys.Debug.trace(typeof(l[1])); // => undefined Sys.Debug.trace(l.length); // => 3

Pour ces raisons je vous déconseille d'utiliser delete sur un tableau ! Si vous voulez supprimer un élément d'un tableau utilisez la méthode splice qui est conçu pour ça.

var l = ['a', 'b', 'c']; l.splice(2,1); // Array.splice(index, count) Sys.Debug.trace(l.length); // => 2

Vous pouvez également utiliser la méthode removeAt introduite par Microsoft Ajax Library.

Posted: samedi 26 janvier 2008 03:25 par cyril
Ce post vous a plu ? Ajoutez le dans vos favoris pour ne pas perdre de temps à le retrouver le jour où vous en aurez besoin :

Commentaires

coucou747 a dit :

sympa comme astuce :)

# janvier 29, 2008 16:06
Les commentaires anonymes sont désactivés

Les 10 derniers blogs postés

- Office 365: Script PowerShell pour auditer l’usage des Office Groups de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 11:02

- Office 365: Script PowerShell pour auditer l’usage de Microsoft Teams de votre tenant par Blog Technique de Romelard Fabrice le 04-26-2019, 10:39

- Office 365: Script PowerShell pour auditer l’usage de OneDrive for Business de votre tenant par Blog Technique de Romelard Fabrice le 04-25-2019, 15:13

- Office 365: Script PowerShell pour auditer l’usage de SharePoint Online de votre tenant par Blog Technique de Romelard Fabrice le 02-27-2019, 13:39

- Office 365: Script PowerShell pour auditer l’usage d’Exchange Online de votre tenant par Blog Technique de Romelard Fabrice le 02-25-2019, 15:07

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Stream Portal par Blog Technique de Romelard Fabrice le 02-21-2019, 17:56

- Office 365: Script PowerShell pour auditer le contenu de son Office 365 Video Portal par Blog Technique de Romelard Fabrice le 02-18-2019, 18:56

- Office 365: Script PowerShell pour extraire les Audit Log basés sur des filtres fournis par Blog Technique de Romelard Fabrice le 01-28-2019, 16:13

- SharePoint Online: Script PowerShell pour désactiver l’Option IRM des sites SPO non autorisés par Blog Technique de Romelard Fabrice le 12-14-2018, 13:01

- SharePoint Online: Script PowerShell pour supprimer une colonne dans tous les sites d’une collection par Blog Technique de Romelard Fabrice le 11-27-2018, 18:01