将REST url转换为javascript文字

Convert REST url in javascript literal

本文关键字:javascript 文字 转换 REST url      更新时间:2023-09-26

我想把一个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: {} }}}}