js中可以动态去改变变量名获取数据吗

js中可以动态去改变变量名获取数据吗
如:
var a1 = [{name1: 1},{name1: 2}]
var a2 = [{name1: 3},{name1: 4}]
var a3 = [{name1: 5},{name1: 6}]
this.fu(3)

fu(num){

this.b= a(num)  // 有办法让this.b= a3的数据吗

}

已解决 悬赏分:30 - 解决时间 2021-12-02 16:08
反对 0举报 0 收藏 0

回答1

最佳
  • @

    有,但是不推荐,就是用eval

    屏幕快照 2020-04-05 下午3.07.25.png

    动态获取变量可以变成别的形式,比如把这些变量挂载在对象上,通过获取对象的key来获取到值
    比如

    var obj = {
        a1: 1,
        a2: 2,
        a3: 3
    }
    function fn(num) {
        return obj['a' + num]
    }

    这样是比较安全可靠的

    支持 0 反对 0 举报
    2021-12-02 12:59