// giving an empty object and a list,
// return the object append the node by sequence in the list
var nodeList = ["a", "b", "c"];
var obj = {};
// output {a:{b:{c:{}}}}
var genereteNode = (nodeList)=>{
obj = _process(obj, nodeList)
}
// recursion
var _process = (obj, nodeList)=>{
// base conditions
if(nodeList.length == 0) return;
if(nodeList.length === 1){
var node = nodeList[0];
obj[node] = {};
return;
}
var nodeShifted = nodeList.shift();
// general solution
obj[nodeShifted] = {};
// reduce function
_process(obj[nodeShifted], nodeList)
//console.log(obj);
return obj;
}
genereteNode(nodeList);
console.log(obj);
recursion practice - append nodes to object
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。