Uncaught TypeError: Object.les valeurs n'est pas une fonction JavaScript
J'ai un objet simple comme celle ci-dessous:
var countries =
{
"Argentina":1,
"Canada":2,
"Egypt":1,
};
J'ai besoin de créer deux tableaux. Le premier tableau est un tableau de toutes les clés de l'objet. J'ai créé ce tableau par:
var labels = Object.keys(countries);
Cela fonctionne bien. Je obtenir un tableau de pays. Maintenant quand j'essaye de créer un tableau de valeurs...
var labels = Object.values(countries);
J'obtiens cette erreur: Uncaught TypeError: Object.values is not a function JavaScript
Je ne sais pas ce que je fais de mal. J'ai de la console.journal countries
avant de me déclarer labels
et après et l'objet reste le même. Comment puis-je utiliser correctement Object.values()
?
- Quel navigateur utilisez-vous, parce que selon le MDN, il n'a pas pu être pris en charge
- Je suis en utilisant Google Chrome 52.0.2743.82
Vous devez vous connecter pour publier un commentaire.
.values
est pas pris en charge dans la plupart des navigateurs - vous pouvez utiliser.map
pour obtenir un tableau de toutes les valeurs:Voir MDN doc: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/values ou Officiel doc: https://tc39.github.io/ecma262/#sec-object.values (merci @evolutionxbox pour la correction)
.values
semble si puissant. Merci de m'avoir montré une alternative. Il fait beaucoup plus de sens maintenant!Object.values()
. Juste peu à nous ce matin. Nous avions testé sur Chrome, mais pas IE. Merci, @tymeJV, pour la grande réponse et exemple.Il est également intéressant de noter que seul Nœud versions >= 7.0.0 totalement en charge.
http://node.green
Pour ceux qui ont fini par ici et utilisez Angulaire, en ajoutant
import 'core-js/es7/object';
àpolyfills.ts
fichier résolu le problème pour moi.Ressemble à ce problème est résolu dans safari dernière version. Je suis venu autour de la même question. Ce problème se produit dans le navigateur de la version 9.0.1 et ne se produit pas dans 10.1.1
d'édition pour ajouter des pièces jointes;
À l'aide de "pour..." comme discuté lors de mozilla: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Object/values
Voici le code que j'ai utilisé:
.values
est pas pris en charge dans la plupart des navigateurs - vous pouvez utiliser .carte pour obtenir un tableau de toutes les valeurs:JS:
Je pense que la question de la compilation de soutien sur la compatibilité des navigateurs, Vous pouvez utiliser carte pour atteindre le même.
JS:
JS:
Envisager d'utiliser
_.values(object)
Docs: https://lodash.com/docs/4.17.11#values