Javascript = 从字符串构建变量名称
Javascript = Building a variable name from strings
假设我有:
var acDeMa = [10, 20, 30, 40, 50];
var test1 = 5;
var test2 = 7;
var test3 = 3;
var piece1;
var piece2;
var piece3;
if ( test1 == 5 )
{piece1 = "ac";}
if ( test1 == 7 )
{piece2 = "De";}
if ( test1 == 3 )
{piece3 = "Ma";}
然后,如何组合这些部分,将其识别为之前的数组,并将数组中的值复制到新数组中?
var finishedArray = (piece1 + piece2 + piece3);
基本上,我想要下面的效果,但不必专门输入它的名称(acDeMa):
var finishedArray = acDeMa;
我将如何做到这一点?这样做的原因是因为我有大约 60 个数组,我一次比较两个。一些数组有共同点,所以与其有 60 个单独的"if"语句,我宁愿使用一些选择的"if"语句(巧妙地找到各种数组的共同点)将正确的数组名称拼凑在一起,然后将其用作我的数组。
不,我不想在新数组中使用数字 5、7 和 3。我想要 finishArray 中的数字:10、20、30、40、50,但由于这些数字每次都可能不同,所以我不想写:
var finishedArray = acDeMa;
或
var finishedArray = [10, 20, 30, 40, 50];
不推荐,但如果你在全局上下文中工作,你可以像这样使用 window 对象
var finishedArray = window[piece1+piece2+piece3];
这将创建对原始数组的引用。若要获取单独的副本,请使用 slice
方法
var finishedArray = window[piece1+piece2+piece3].slice(0)
而不是数组,从一个对象开始:
var myArrays = { acDeMa : [10, 20, 30, 40, 50] }
然后
var finishedArray = myArrays[piece1 + piece2 + piece3];
相关文章:
- AngularJS-在JSON选择器中使用变量名
- 命令行中的Uglify js;不要弄乱变量名
- 像createComment这样的各种自定义变量名在内联javascript中被覆盖,但在外部js中没有.为什么?
- 这在JavaScript中是一个好的变量名吗
- 在javascript中,在变量名之前使用var有什么区别/优势吗
- 在Javascript中连接一个动态变量名
- 如何使用jQuery循环变量名
- JavaScript将字符串转换为变量名
- 根据发送到javascript中函数的参数创建变量名
- 检索本身包含变量的 Jquery 变量名的值
- 测试JavaScript是否符合异常变量名
- 动态变量名语法
- 动态jQuery变量名
- jquery没有't从DIV数据id中获取PHP变量值,只输出变量名
- Ajax jquery post发布时没有变量名
- 在javascript中的现有变量名中添加一个变量
- 可以't让JavaScript将ID读取为变量名
- ng绑定html,变量名来自ng repeat,但在其他地方定义了变量
- 使用动态变量名更新JSON中的结果
- 如何在javascript中访问函数内部的相同变量名