我需要转成如下格式
{
student:{
name:"张三",
age:18,
feature:{
weight:80,
hegiht:168
}
}
}
// 原数据格式
var result={
"student.name":"张三",
"student.age":18,
"student.feature.weight":80,
"student.feature.height":168
}
基于您的问题,我给了如下的解决方式,稍微有点繁琐,可供参考,需要借助loadsh的深度对象拷贝方法,如果自己写也行(这个深度拷贝方法),代码如下。
obj[first] = item[1];
} else { let ss = first.reduceRight((pre, next) => ({
[next]: pre
}), item[1]);
stObj.push(ss);
}objectReverseTree(result);
//
纯属参考,如有帮助,望指教 采纳
你这个层级 会不确定吗 。
```javascript
function deal(data) {
if (Object(data) !== data || Array.isArray(data))
return data;
var result = {}, cur, prop, idx, last, temp;
for(var p in data) {
cur = result, prop = "", last = 0;
do {
idx = p.indexOf(".", last);
temp = p.substring(last, idx !== -1 ? idx : undefined);
cur = cur[prop] || (cur[prop] = (!isNaN(parseInt(temp)) ? [] : {}));
prop = temp;
last = idx + 1;
} while(idx >= 0);
cur[prop] = data[p];
}
return result[""];
}
// 原数据格式
var result={
"student.name":"张三",
"student.age":18,
"student.feature.weight":80,
"student.feature.height":168
}
console.log(deal(result))
```