微信小程序有个功能需求要把 字符串转对象,之前用 eval 方法可以很快实现
大概过程是这样:
var name = 'bb[0]'; //name 是变量,这里假设它值是'bb[0]',也可能传过来的值是'aa[0] 或 bb[1]'
var data = {"aa":["111","222"],"bb":["333","444"]}; //data的值是固定的
var newData = eval('data.'+name); //方法 1
//console.log(newData) 结果是333
var jsonStr = JSON.stringify(data);
var newData = (new Function("var temp = " + jsonStr + ';return temp.'+ name))();//方法2
//console.log(newData) 结果是333
后面发现小程序更新后,禁掉的原有js功能:new Function、eval、Generator。 也就是说之前的方法都不能用了。
求问 除了上面的2个, 还有什么方法能让newData 获得正确的结果()。
相关分类