私が持っているのは次のような配列です:['foo','bar']
そしてそれを次のようなオブジェクトに変換したいと思います:
{{ foo:{ バー:{ 等:{} } } }
2つのループを試しましたが、配列に3つの値がある場合は、それを機能させることができます。
私が持っているのは次のような配列です:['foo','bar']
そしてそれを次のようなオブジェクトに変換したいと思います:
{{ foo:{ バー:{ 等:{} } } }
2つのループを試しましたが、配列に3つの値がある場合は、それを機能させることができます。
var obj = {};
var pointer = obj;
array.forEach(function (item) {
pointer = pointer[item] = {};
});
これがフィドルです:http://jsfiddle.net/h67ts/
IE <9をサポートする必要がある場合は、通常のループを使用するか、次のポリフィルを使用できます。
if ( !Array.prototype.forEach ) {
Array.prototype.forEach = function(fn, scope) {
for(var i = 0, len = this.length; i < len; ++i) {
fn.call(scope, this[i], i, this);
}
}
}