JavaScript如何使用变量动态为子数组属性命名并完成赋值?
解决方案
JavaScript 中要通过变量动态给对象/数组的属性赋值,使用方括号属性访问语法替代点语法即可实现。
你现在用的硬编码点语法写法:
proArr.create = '赋值内容'; proArr.update = '赋值内容';
等价于方括号写法:
proArr['create'] = '赋值内容'; proArr['update'] = '赋值内容';
当属性名存储在变量中时,直接把变量放在方括号内即可完成动态赋值,你的场景修正后代码如下:
let func = "create"; upload(func); // 函数实现 function upload(func){ proArr[func] = '你需要赋值的内容'; }
额外说明
- 方括号语法同时支持属性读取和赋值操作,内部可以直接写表达式,例如
proArr[func + '_2024']会自动计算表达式结果作为属性名使用 - 即使proArr是数组类型也可以用这个写法,JS数组本质是特殊对象,支持自定义字符串属性
- 建议使用前可以对func变量做合法性校验,避免变量值为undefined、null时生成预期外的属性名
内容的提问来源于stack exchange,提问作者user1488934
相关产品推荐
相关产品推荐

