Google App Script中如何获取另一文件内键值对的对应值
问题原因
你的现有写法存在3个核心错误:
lgu_map是函数类型,不能直接用lgu_map[ksu]的方式读取属性lgu_map函数内部的map变量未声明、也没有设置返回值,调用后无法拿到映射关系- 原代码中
map["Ohio State University North"] = "Central"属于明显手误,可根据实际需求修正
修正后可运行代码
1. data.gs 文件
function lgu_map() { // 声明映射对象 const map = {}; map["University of Arkansas Pine Bluff"] = "1890"; map["University of Maryland Eastern Shore"] = "1890"; map["Virginia State University"] = "1890"; map["West Virginia State University"] = "1890"; map["Iowa State University"] = "North Central"; map["Kansas State University"] = "North Central"; map["Michigan State University"] = "North Central"; map["North Dakota State University"] = "North Central"; map["Ohio State University"] = "North Central"; // 返回映射对象供外部调用 return map; }
2. Code.gs 文件
function myFunction() { const ksu = "Kansas State University"; // 先执行lgu_map函数拿到映射对象,再读取对应key的值 const lguMap = lgu_map(); Logger.log(lguMap[ksu]); // 运行后输出结果为 North Central }
可选优化方案
如果映射表不会动态变化,可以直接定义为全局常量,避免每次调用都重复生成对象,性能更好:
data.gs 全局常量定义
const LGU_MAP = { "University of Arkansas Pine Bluff": "1890", "University of Maryland Eastern Shore": "1890", "Virginia State University": "1890", "West Virginia State University": "1890", "Iowa State University": "North Central", "Kansas State University": "North Central", "Michigan State University": "North Central", "North Dakota State University": "North Central", "Ohio State University": "North Central" }
Code.gs 调用方式
function myFunction() { const ksu = "Kansas State University"; Logger.log(LGU_MAP[ksu]); }
内容的提问来源于stack exchange,提问作者Mark Locklear
相关产品推荐
相关产品推荐

