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

如何通过字符串名称引用对应的数组?

解决通过字符串名称引用对应数组的问题

嘿,我完全懂你这种卡了好几天、连搜索关键词都摸不准的憋屈感!你现在的核心需求就是:拿到一个字符串后,要引用和这个字符串同名的数组对吧?直接用字符串当变量名确实行不通,但咱们换个思路——用对象做映射表就能完美解决。

具体怎么做?

  1. 先把所有数组放进一个映射对象
    把你的20个数组和对应的字符串名称一一对应,存到一个对象里。对象的「键」就是你那20个字符串,「值」就是对应的数组。举个例子:
// 假设你原来的数组是这些:
const userList = [101, 102, 103];
const productList = ["phone", "laptop", "tablet"];
// ... 剩下18个类似的数组

// 构建映射对象
const arrayDictionary = {
  "userList": userList,
  "productList": productList,
  // 把剩下的18组都按这个格式加进来
};
  1. 通过字符串名称获取对应数组
    现在你拿到oldArray[0](比如就是"userList"这个字符串),直接用它当对象的键去取值就行:
const targetArrayName = oldArray[0]; // 得到你选中的字符串名称
const newArray = arrayDictionary[targetArrayName]; // 这就拿到对应的数组啦!

为啥不直接用字符串找变量?

可能你会想到用window[targetArrayName]这种方式去全局找变量,但真的不推荐——这会让代码变得混乱,还容易引发意外的变量冲突,用对象映射是更规范、更安全的做法。

如果数组是动态生成的?

要是你的数组是代码里动态创建的,那创建的时候直接往映射对象里加就行,不用单独定义变量:

const arrayDictionary = {};
// 动态创建并添加
arrayDictionary["userList"] = [101, 102, 103];
arrayDictionary["productList"] = ["phone", "laptop", "tablet"];
// ... 继续添加其他数组

这样不管你点哪个按钮,只要拿到对应的字符串,就能轻松切换到目标数组了!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:23:42