dans tutoriel

Object.keys pour tous les navigateurs

La fonction keys de l’élément Object permet de transformer un objet javascript en tableau, ce qui permet d’utiliser des propriétés spécifiques au tableau comme la propriété length, non disponible pour un objet classique.  Prenons l’exemple suivant : 

Utilisation de la fonction Keys
1 2 3 4 5 6 7 8 9 
// On déclare un objet contenant des données var citiesObj = { 'troyes':'aube', 'nancy':'meurthe-et-moselle' };   // On le transforme ensuite en tableau pour pouvoir le manipuler var citiesArray = Object.keys( citiesObj );   // Taille du tableau var citiesLen = citiesArray.length; console.log( citiesLen  ) // Renvoie "2"

Cependant la fonction Object.keys() n’est pas disponible sur l’ancien des navigateurs. Sous IE elle n’est disponible qu’à partir de la version 9. Voici donc un hack permettant de supporter l’ensemble des navigateurs :

Définition de la fonction Object.keys pour les anciens navigateurs
1 2 3 4 5 6 7 8 9 10 
/** ** Set Object.keys if undefined **/ if (!Object.keys) Object.keys = function(o) {   if (o !== Object(o)) throw new TypeError('Object.keys called on a non-object');   var k=[],p;   for (p in o) if (Object.prototype.hasOwnProperty.call(o,p)) k.push(p);   return k; }  

Plus qu’à rajouter ça dans le fichier app.js ou core.js de votre application. Vous avez le pouvoir !

Laisser un commentaire