You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在JavaScript中将函数参数作为返回对象的动态键名

问题原因

你代码中对象字面量的键i会被当作静态字符串键解析,不会读取参数i的实际值,所以得到的所有对象键都是固定的i。

解决方法

要实现动态键名,有两种常用实现方式:

  1. ES6+ 计算属性名写法(推荐,语法更简洁)
    把键用方括号包裹后,JS会先计算方括号内表达式的值,再将计算结果作为对象的键名,即可实现键名和参数值匹配:
function toObj(i){
    return {
        [i]: i
    };
}

const numObj = s => s.map(toObj)
  1. 兼容旧环境的写法
    如果你的运行环境不支持ES6新特性,可以先创建空对象再动态赋值:
function toObj(i){
    const obj = {}
    obj[i] = i
    return obj
}

const numObj = s => s.map(toObj)

调用numObj([1, 2, 3, 4])即可得到你期望的[{1: 1}, {2: 2}, {3: 3}, {4: 4}]结果。

内容的提问来源于stack exchange,提问作者Perplexityy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 14:39:04