JS 字符串转 对象的问题

微信小程序有个功能需求要把 字符串转对象,之前用 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 获得正确的结果()。


Helenr
浏览 912回答 2
2回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript