字符串是公式,请问怎么log结果而不是公式本身?
发布于 7 年前 作者 guiying89 8150 次浏览 来自 问答

var aa = “medata.d”

var bb = “ata[0].B2”

var cc = aa + bb

console.log(cc)

console.log(medata.data[0].B2)

// console.log(cc)  的结果是 medata.data[0].B2

// medata.data[0].B2的结果是A

// 怎么更改console.log(cc) 让它的结果也是A,后面要用循环改变[0],没办法直接写入公式,求助,谢谢!!

3 回复

第一种方法是用云函数,使用eval

第二种方法是用:

var a = {medata},

aa = “medata.d”,

bb = “ata[0].B2”,

cc = aa + bb,

dd = cc.replace(/\[([^\]]+)\]/g, ‘.$1’).split(’.’)

dd.map((v,i)=>{

    if(a[v]){

        a = a[v]

    }else{

        a = undefined

        break;

    }

})

console.log(a, medata.data[0].B2)

var data = {
    medata: {
      data: [{
        B2: "B2的值"
      }]
    }
  };
  console.log(data.medata.data[0].B2);
  var aa = "medata.d"
  var bb = "ata[0].B2"
  var cc = aa + bb
  cc.replace(/\[([^\]]+)\]/g,'.$1').split('.').forEach(key => {
    data = data[key]
  });
  console.log(data);

如果是拼接字符串,然后要setData它的值的话,可以使用

this.setData({

[cc]:xxx})

这样的形式

回到顶部