値の数が不明な配列があるとします。例: ['one', 'two', 'three']
.
そこからオブジェクトの角括弧表記を作成するにはどうすればよいですか? 基本的に、これを作成する必要があります: var result = myObject['one']['two']['three']
.
ここで重要なのは、配列には任意の数の値が存在する可能性があることを理解することであり、これらの値を使用してオブジェクトを n レベル深く掘り下げる必要があるだけです。
値の数が不明な配列があるとします。例: ['one', 'two', 'three']
.
そこからオブジェクトの角括弧表記を作成するにはどうすればよいですか? 基本的に、これを作成する必要があります: var result = myObject['one']['two']['three']
.
ここで重要なのは、配列には任意の数の値が存在する可能性があることを理解することであり、これらの値を使用してオブジェクトを n レベル深く掘り下げる必要があるだけです。
の助けを借りて短く正確にArray.reduce()
:
var o = { 'one': { 'two': { 'three': 'five' } } };
["one","two","three"].reduce(function(prev,cur){return prev[cur]},o);
reduce は IE9 以降で動作します。