w460270218 发表于 2022-11-9 22:04

vue或js中,如何将数组内的字符串去掉引号转为可以调用的变量形式?



如图所示,将红框中的内容转为蓝框中的格式。

pansong291 发表于 2022-11-11 23:17

本帖最后由 pansong291 于 2022-11-11 23:18 编辑

```javascript
function getProp(obj, str) {
    const fn = new Function(`return ${str}`)
    return fn.call(obj)
}
const paths = [
    'this.tableData',
    'this.tableData'
]
console.log(paths.map(s => getProp(this, s)))
```

平淡最真 发表于 2022-11-9 22:10

console.log('),eval('this.tableData')])
这样行不行?

HappyCrazy 发表于 2022-11-9 22:50

数组的话,循环下,拿到每一项,删除掉当前项的首尾字符不就可以了

55229lwj 发表于 2022-11-9 23:26

本帖最后由 55229lwj 于 2022-11-9 23:31 编辑

改成json试试?

三滑稽甲苯 发表于 2022-11-9 23:38

最简单的方法是eval,但是会有被注入的风险

嘿i你的益达 发表于 2022-11-10 02:16

取出数组,然后用eval就可以吧

d199212 发表于 2022-11-10 08:07

估计只能用eval了

acexxx 发表于 2022-11-15 14:43

只能用eval了
页: [1]
查看完整版本: vue或js中,如何将数组内的字符串去掉引号转为可以调用的变量形式?