2016-12-15 1 views
2

getObjectData()関数を作成する必要があります。この関数は、引数に応じてオブジェクトのすべてのキーまたは値の配列を返します。オブジェクトのすべてのキーまたは値を配列として返す関数

2番目の引数として文字列valuesが渡された場合、オブジェクト(obj)の値が返され、文字列keysが渡された場合は、キーを返す必要があります。

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

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

第二引数?それから最初の議論は何でしょうか? –

+0

あなたが話しているコードを教えてください。 – iHasCodeForU

+0

実際に何かを書き込もうとしましたか?表示するコードは? – agfc

答えて

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'));

あなたはObject.valuesをポリフィルする必要があるかもしれません。

+1

'Object [str](o)' ...しかし、本当に誰がそのような関数を必要としますか? – georg

+1

victoria does !! – Ben

3

この機能は必要ありません。

キーを取得するためにObject.keysを使用し、値のためObject.values。後者は、普遍的にまだサポートされていませんが、ポリフィルは簡単です:

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

docdoc

関連する問題