JS数组转obj
let data = [
["a", 1],
["b.a", 1],
["b.b", 1],
["b.c", 1],
["b.d.a", 1],
["c.a.a", 1],
["c.b.a", 1],
["c.c.a", 1],
];
let newData = {};
function fun(arr) {
function setObj(obj, arr, num) {
if (obj[arr[0]] == undefined) {
if (arr[1]) {
obj[arr[0]] = {};
} else {
obj[arr[0]] = num;
}
}
let head = arr[0];
arr.shift();
if (arr.length != 0) {
setObj(obj[head], arr, num);
}
}
for (const item of arr) {
let newArr = item[0].split(".");
setObj(newData, newArr, item[1]);
}
}
fun(data);
console.log(newData);