使用变量重命名数组
Renaming Array with Variable
自学如何编码的问题之一是你错过了一些可能相当简单的事情:
我写了一个函数,它接受文本文件(例如"someData1.txt","someData2.txt"等)将它们的内容转换为数组("myArray"),并将它们的标题提取为变量("文件名")。
我正处于解析文件名和数组的阶段,但我想用变量重命名每个数组,以便第一个数组变成"someData1",依此类推。我已经有一堆代码,它们将为每个不同的数组做各种事情,所以如果我能按照我想要的方式命名它们,那将很有用。
我想我可以使用 valueOf 来做到这一点,就像
fileName.valueOf() = myArray;
但这行不通。那么我该怎么做呢?
谢谢!
可能最简单的方法是使用对象,然后使用数组表示法为其分配键。让我向您展示:
var myObj = {};
myObj.someProperty = 1;
与
myObj['someProperty'] = 1; // note the quotes
因此,这使得使用变量名称作为键成为可能。在您的示例中:
var fileName = 'someData1';
var myObj = {};
myObj[fileName] = myArray; // myArray being file contents from your example
现在,当您想访问内容时,您只需执行以下操作:
myObj.someData1
或:
myObj['someData1']
只要确保您没有重复的文件名,您就可以开始了。
您要做的是动态定义变量名称。
虽然在Javascript中是不可能的,但你可能会很棘手。然后您有两个选择:
- 使用全局作用域对象来存储变量(不是一个好的做法):
global[variableName] = array;
然后您将能够在 范围内访问它 :
global['toto'] = 42;
console.log(toto);
=> 42
这不是一个好的做法,但这是动态定义作用域中变量的唯一方法。
- 使用对象来存储它:
var myArrays = [];
myArrays[variableName] = array;
在每种情况下,您实际上都定义了对象的属性。
您必须记住:
myArrays['toto'] = 42;
与
:myArrays.toto = 42;
因此,要访问您的阵列,只需执行以下操作:
myArrays.toto
相关文章:
- 在数组 C# MVC 剃须刀中使用命名键
- 使用 javascript 重命名数组中的对象键
- 使用window.location.htm和匹配的URL数组(一个用于桌面,一个用于移动)将桌面网站重定向到移动
- 将索引值传递给javascript命名空间数组
- 在未命名的json数组url中检索值
- Javascript重置数组中的对象
- 当我添加命名属性时,为什么数组会有这种行为
- 短范围命名空间数组是什么意思
- 从数组随机重定向URL
- 只需要重置Javascript数组的索引
- 清除画布玩家路径 - 重绘关卡数组
- 如何从网格中删除项目时重置数组
- 如何在 Javascript 命名空间脚本中创建函数数组
- 重命名数组的嵌套键
- 在javascript函数中重命名数组(将数组分配给新名称)
- 重命名 JavaScript 数组中的键
- JS-将函数推入数组并命名
- 正在复制/重命名JSON对象数组
- 如何在javascript中最有效地重命名项数组中的键
- 用于将按钮submit上的不同页面与数组重定向到springController()