1. ホーム
  2. javascript

[解決済み] 数値以外のObjectプロパティにインデックスでアクセスする?

2022-11-23 20:31:02

質問

このような配列があった場合

var arr = ['one','two','three'];

こうすることで違うパーツにアクセスできるんです。

console.log(arr[1]);

オブジェクトのプロパティに、キーではなく順序でアクセスするにはどうしたらよいですか?

例を示します。

var obj = {
    'something' : 'awesome',
    'evenmore'  : 'crazy'
},
jbo = {
    'evenmore'  : 'crazy',
    'something' : 'awesome'
};

各オブジェクトの最初のプロパティ-"something"は、どのようにして obj から取得し、"evenmore" からは jbo -から、プロパティ名を明示的に使用せずに、?

さて、何人かの方は、私が次のようなものを求めていると考えているようです。

console.log(obj['something']);

これはそうではありません。私は特に、最初の例と同じようにインデックスをターゲットにしたいと考えています - 可能であれば。

どのように解決するのですか?

"私は特に、最初の例のようにインデックスをターゲットにしたいと考えています - それが可能であれば。

いいえ、それは可能ではありません。

最も近いのは、オブジェクトのキーのArrayを取得して、それを使用することです。

var keys = Object.keys( obj );

...しかし、定義した順序でキーが返される保証はない。だから、次のような結果になる可能性がある。

keys[ 0 ];  // 'evenmore'
keys[ 1 ];  // 'something'