场景是做一个后台管理系统,由于疏忽忘了给数据库加上统一的标识id,现在每个表的api都要通过传入不同主键名的主键值才能操作数据,只好在前端先定义表的对象数组,包括表名,主键名和api路径名。
后端传来的数据被统一在一个dataList中,dataList内定义一个叫pkv的字符串变量把主键值统一起来,由于每次选择新的表都会导致主键名变化,又无法预知主键名,故定义一个字符串变量pkName用来根据表名获取表的对应主键名(表名的获取已经有对应函数实现了),然后想设法把pkName内的值作为后端数据rawData的字段名来应用(也就是通过pkName让rawData能动态引用),于是就卡在这里了,不知道js有没有对应的功能。
当然我也可以用eval,但为了考虑以后的习惯影响不想用。
let obj = {}
const key1 = 'name1'
const key2 = 'name2'
obj[ !!window.token ? key1 : key2 ] = 1
console.log(obj); // {name2: 1}