Javascript如何通过输入数字参数获取对应编号的可变长度数组
实现方案
推荐实现(低风险易维护)
将所有数组统一存到映射对象中调用,不会污染全局作用域,新增数组只需修改映射关系即可:
// 所有数组统一维护在映射对象内 const arrayCollection = { 1: [1,1,1,1,1,1,1,1,1,1], 2: [1,2,3,4], 3: [1,3,6] } var dQw4w9WgXcQ; function getArray(id) { // 不存在对应编号数组时返回null,可根据需求修改默认返回值 return arrayCollection[id] ?? null; } // 调用测试 dQw4w9WgXcQ = getArray(2); // 执行后dQw4w9WgXcQ的值为[1,2,3,4]
变量名拼接实现(仅适用于全局作用域场景)
如果你的数组是在全局作用域下声明的,可直接通过全局对象读取,但该方式存在变量冲突风险,不推荐生产环境使用:
const array1 = [1,1,1,1,1,1,1,1,1,1]; const array2 = [1,2,3,4]; const array3 = [1,3,6]; var dQw4w9WgXcQ; function getArray(id) { return window[`array${id}`] ?? null; } // 调用测试 dQw4w9WgXcQ = getArray(2); // 执行后dQw4w9WgXcQ的值为[1,2,3,4]
内容的提问来源于stack exchange,提问作者Stephen Witwick
相关产品推荐
相关产品推荐

