2016-12-15 1 views
2

Je dois créer une fonction getObjectData(), qui retourne un tableau de toutes les clés ou valeurs d'un objet en fonction de l'argument.Une fonction renvoyant toutes les clés ou les valeurs d'un objet en tant que tableau

Si la chaîne values est passée comme deuxième argument, elle renvoie les valeurs de l'objet (obj) et si la chaîne keys est passée, elle doit renvoyer les clés.

var person = { 
    firstName: 'Bill', 
    surname: 'Bradley', 
    age: 27 
}; 

var pet = { 
    animal: 'Dog', 
    breed: 'Terrier', 
    colour: 'Brown" 
}; 
+0

deuxième argument? Quel devrait être le premier argument alors? –

+0

s'il vous plaît nous fournir le code dont vous parlez. – iHasCodeForU

+0

Avez-vous réellement essayé d'écrire quelque chose? Tout code à afficher? – agfc

Répondre

1

var person = { firstName: 'Bill', surname: 'Bradley', age: 27 }; 
 
var pet = { animal: 'Dog', breed: 'Terrier', colour: 'Brown' }; 
 

 
function keysOrValues(o, str) { 
 
    switch(str) { 
 
     case 'keys': 
 
      return Object.keys(o); 
 
     case 'values': 
 
      return Object.values(o); 
 
    } 
 
} 
 

 
console.log(keysOrValues(person, 'keys')); 
 
console.log(keysOrValues(person, 'values'));

Vous devrez peut-être Polyfill Object.values.

+1

'Object [str] (o)' ... mais vraiment, qui a besoin d'une telle fonction? – georg

+1

victoria fait !! – Ben

3

Vous n'avez pas besoin de cette fonction.

Utilisez Object.keys pour récupérer les clés et Object.values pour les valeurs. Ce dernier n'est pas encore universellement pris en charge, mais un polyfill est facile:

Object.values = Object.values || (o => Object.keys(o).map(k => o[k])); 

doc, doc