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

如何遍历变量数组并获取每个元素对应的原始变量名?

问题原因

你编写的代码无法得到预期输出的核心原因如下:

  • 数组errorArray中存储的是firstOne、secondOne、thirdOne的值,没有保留任何和原变量的名称信息。
  • 代码中Object.keys({ element })[0]使用了ES6对象属性简写规则,等价于创建了{ "element": element }的对象,因此永远只能拿到键名element,和原变量名没有关联。
实现方案

方案1:构造包含变量名的对象数组(推荐)

这种方案可读性和可维护性最高,适合绝大多数场景:

let firstOne = true;
let secondOne = true;
let thirdOne = false;

// 数组中存入变量名和对应值绑定存储
let errorArray = [
  { name: 'firstOne', value: firstOne },
  { name: 'secondOne', value: secondOne },
  { name: 'thirdOne', value: thirdOne }
];

let resultArr = []
errorArray.forEach((item) => {
  if (item.value) {
    console.log(item.name);
    // 推送至其他数组直接执行push操作即可
    resultArr.push(item.name)
  }
});

方案2:用对象包裹所有变量,遍历键值对

如果变量数量较多,可以将变量统一放在同一个对象下管理,遍历效率更高:

// 所有变量放在同一对象管理
const errorConfig = {
  firstOne: true,
  secondOne: true,
  thirdOne: false
}

Object.entries(errorConfig).forEach(([variableName, variableValue]) => {
  if (variableValue) {
    console.log(variableName)
  }
})

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 10:57:03