如何根据Google Sheets列标题动态创建变量名
动态创建变量的正确实现方式
你预想的var [columnName]=''是数组解构语法,只会把空字符串重新赋值给columnName变量,没法实现用字符串值作为变量名创建新变量的需求。下面是几种可行的实现方式:
推荐:用对象存储(避免全局作用域污染)
用一个容器对象,通过方括号语法动态添加属性,属性名就是你拿到的列标题:var columnName = 'PERSON_ID'; // 创建容器对象 var columnData = {}; // 动态添加属性,属性名等于columnName的取值 columnData[columnName] = ''; // 访问方式 console.log(columnData.PERSON_ID); // 输出空字符串浏览器环境创建全局变量
如果需要全局可用的变量,可借助window对象:var columnName = 'PERSON_ID'; window[columnName] = ''; // 直接访问变量 console.log(PERSON_ID); // 输出空字符串Node.js环境创建全局变量
在Node.js里可以用global对象:var columnName = 'PERSON_ID'; global[columnName] = ''; // 直接访问变量 console.log(PERSON_ID); // 输出空字符串
内容的提问来源于stack exchange,提问作者Kenton Sparks
相关产品推荐
相关产品推荐

