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

JavaScript中如何获取循环变量的原始名称?

解决方案

直接通过值反推变量原始名称在JavaScript里行不通——当你把变量放进数组[var1, var2, var3]时,数组里只存储了变量的值,变量名的信息已经完全丢失。循环里的variable只是当前值的引用,根本不知道它来自哪个原始变量。

要同时拿到变量名和对应的值,有两种实用的方法:

方法一:用对象存储键值对(推荐)

利用ES6的对象简写语法,直接把变量名作为对象的键,变量值作为对应的值,再通过Object.entries()遍历键值对:

const var1 = 'hello';
const var2 = 123;
const var3 = true;

// 用对象存储变量名和对应值,键名自动匹配变量名
const variableMap = { var1, var2, var3 };

for (const [name, value] of Object.entries(variableMap)) {
    console.log("Value: " + value);
    console.log("Name: " + name);
}

运行后会依次输出:

Value: hello
Name: var1
Value: 123
Name: var2
Value: true
Name: var3

方法二:手动构建包含名称和值的数组

如果你需要更灵活的结构,可以手动创建一个包含name和value属性的对象数组:

const var1 = 'hello';
const var2 = 123;
const var3 = true;

const variableList = [
    { name: 'var1', value: var1 },
    { name: 'var2', value: var2 },
    { name: 'var3', value: var3 }
];

for (const item of variableList) {
    console.log("Value: " + item.value);
    console.log("Name: " + item.name);
}

这两种方法的核心逻辑都是主动保存变量名与值的映射关系——毕竟JavaScript本身不会为值记录它来自哪个变量,只能靠我们手动留存这份关联信息。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.20 21:44:56