本次需要:后端给返回来一个字符串来代表对象的对象的对象key,好苦恼。类似于item = "a.b.c.d"然后我需要转换为a: {b:{c:{d:1}}}这种形式的数据。
解决方案:eval函数(虽然尽量不要用这个函数,可是目前实在没有找到更好的方法了哈哈)
let obj = {
a: {
b: {
c: {
d: {
e: 1
}
}
}
}
};
let str = 'a.b.c.d.e';
eval('obj.' + str + '=' + 123); // 如果是字符串的话需要加上双引号 eval('obj.' + str + '=' + "'ysj'");
console.log(obj);
输出结果: