私はオブジェクトを持っており、そのオブジェクトの最初の要素にアクセスしたいので、最初にそのオブジェクトの最初のキーを取得する必要があります。私はそれを行う2つの方法がありますが、私はより良い方法を探しています。オブジェクトの最初のキーを取得する方法は?
最初は次のとおりです。
var firstKey = Object.keys(myObject)[0];
しかしObject.keys
は、すべてのキーの配列を返します。だから私が最初の鍵だけを必要とするなら、この方法は私の探求には高価すぎるでしょう(特にmyObject
に鍵が多すぎる場合)。
第二の方法は次のとおりです。
var firstKey = null;
for(var key in myObject){
firstKey = key;
break;
}
これはうまく動作し、それが最初のものよりも良いのですが、私はそれが(ちょうど最初のキーを取得するにはfor
、break
とすべてが混乱)恐ろしいことだと思います。
ので
最初のキーを取得するために多くのエレガントな方法がある場合、私は不思議でしたか?ような何か:
var firstKey from myObject;
編集:私は、私はちょうど最初のキーが何であれ手に入れたいの順序を気にしない
。
EDIT2:
Iいくつかの情報を保持するオブジェクト(例えば、人の名前がキーである、と言うことができますが、彼の電子メールが値になります)があります。私はいくつかの名前とそれが電子メールのアドレスが印刷されるプレースホルダを持っているとしましょう。削除を押すとそのエントリが削除されます(delete myObject[name];
)。そのプレースホルダに別の名前とメールアドレスを記入する必要があります(誰も誰も気にしません)ので、最初のもの。
"そのオブジェクトの最初の要素"とはどういう意味ですか? –
'Object.keys'と' for ... in'の順序は実装に依存します。 – Oriol
実際には、オブジェクトには「最初の」キーはありません。例えば。 'Object.keys(myObject)[0]'は、ほとんどのブラウザで最初に作成されたキーを返しますが、これは不明です。 – Tholle