2016-12-30 21 views

答えて

4

Object.keysは、プロパティの配列を返します。オブジェクトを使用して配列にインデックスを付けることはできません。配列の先頭からオフセットを表すには、数値を使用する必要があります。同等の例として、あなたはこのコードが何をすべきかを期待します

?:

var a = [1, 2, 3, 4] 
console.log(a[{}]); 

それは無意味です。

編集: OPのコメントを読んだ後、もう一度見直して、私の評価が間違っていることに気付きました。 問題は、元のコードがオブジェクトリテラルを使用してkeys関数のインデックスを作成しようとしていることですが、実際の問題はかっこの代わりに角かっこを使用することです。これは動作します:

let keys = Object.keys(userTypes); 

それはそれでuserTypes代わりの指標とkeysを呼び出します。私は...それはundefinedを返すことを期待

+0

:ありがとう... –

+0

今、私は恥ずかしいタイプミスを参照してください...、私は実際にコードを誤解。私はあなたの問題が '{} 'でインデックスを作成していたという事実だと考えていました。これは、オブジェクトリテラルを使って' keys'関数のインデックスを作成しようとしているためです。本当の問題は角カッコの間違った使用ですが、あなたは正しいです。私は私の答えを更新します。 –

+0

は 'Object.keys(userTypes)現実には' –

関連する問題