内の配列から最初の値を返す:Javascriptを:私はjavascriptの宿題の問題に取り組んでいますし、ビットが立ち往生していたオブジェクト
オブジェクト内のすべての最初の動物の配列を返すgetFirstAnimalsという関数を作成します。 例:[「熊」、「ペンギン」、パンサー」、 『ノミ』]
Iは、次の関数スクリプト:私の問題は、私は発生していた出力が配列の配列であることである
var animals = {
mammals:['bears','lions','whales','otters'],
birds:['penguins','ducks','swans','chickens'],
cats:['panther','mountain lion','leopard','snow tiger'],
insects: ['flea','mosquito','beetle','fly','grasshopper']
}
function getFirstAnimals(array) {
var firstAnimals = [];
for (key in array) {
firstAnimals.push(array[key].slice(0,1))
}
return firstAnimals;
}
console.log(getFirstAnimals(animals));
を最初の動物[配列[1]、配列[1]、配列[1]、配列[1]]で構成され、文字列ではありません['bears'、 'penguins'、panther '、' flea '] 。希望の出力を得る方法に関する提案は非常に高く評価されます。
が答えに加えて、あなたはおそらく、いくつかの健全性チェックをしたいです:1.プロトタイプに存在する要素を反復処理しないように、array.hasOwnProperty(key)をチェックし、配列[key] .length> 0をチェックして空の配列がないことを確認します。 – PMV
@PMVは良いコメントを出します。また、getFirstAnimals関数 "array"にパラメータの名前を付けましたが、渡すものは実際にはオブジェクトです。 – alexoakley1
'getFirstAnimals'に渡すパラメータは配列ではなく、*オブジェクト*です。グローバル(' window.') 'key'変数を持っていれば、あなたはそれを上書きしました。 – Tyblitz