ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 函数-算法 ### 1. 生成嵌套对象 ```javascript /** * 生成嵌套对象 * @param array arr 用一维数组表示的对象层级 * @param mixed v 对象值 * @return obj 返回生成的嵌套对象 * @fun createNestingObj(['a', 'b', 'c'], 1) // {a: {b: {c: 1}}} */ function createNestingObj(arr, v) { var arg = arguments, _i = arg[2], _n = arg[3], obj = {}, len = arr.length, i = _i || 0, n = _n || 1, o; for (; i < len; i++) { var k = arr[i]; if (i + 1 == len) { // 最后一个键值时才设置值 if (n == len) { // 最后一轮调用才设置值 obj[k] = v; } } else { o = createNestingObj(arr, v, i + 1, n + 1); if (JSON.stringify(o) !== "{}") { // 只有设置了值时才追加对象,对象的嵌套生成正是从这里开始的 obj[k] = o; } } } return obj; } ``` #### 算法解析 ... ---- last update: 2019-11-22