次のように、REST スタイルの URL を JavaScript リテラルに変換したいと考えています。
から:
var url = "/a/b/c/d";
に:
var obj = {
a:{
b:{
c:{
d:{}
}
}
}
};
これをどのように行いますか?
次のように、REST スタイルの URL を JavaScript リテラルに変換したいと考えています。
から:
var url = "/a/b/c/d";
に:
var obj = {
a:{
b:{
c:{
d:{}
}
}
}
};
これをどのように行いますか?
あなたはおそらくそれを凝縮することができますが、ここに解決策があります:
var u = '/a/b/c/d';
var t = u.split('/');
var o = {};
for (var i=t.length; i-->1; ) {
var temp = o;
o = {};
o[t[i]] = temp;
}
結果はo
です。
私の試み:
var url = '/a/b/c/d';
var fun = function(a) {
var res = {};
res[a[0]] = a.length == 1 ? {} : fun(a.slice(1));
return res;
};
// obj has what you need
var obj = fun(url.split('/').slice(1));
// OTHER EXAMPLE
var t = ['that', 'is', 'so', 'fun'];
console.log(fun(t));
// above returns object: {that: { is: { so: { fun: {} }}}}