如何在jquery中将动态值推送到数组中
How to push dynamic values into an array in jquery
这是我的数组ARRAY
ARRAY = ["A","B","C","D","E"];
var mlength = ARRAY.length;
我的变量是
var mname0 = a, var mname1 = b, var mname2 = c, var mname3 = d, var mname4 = e
var month = JAN;
我正在尝试将值推送到基于mlength
的数组中。我尝试了以下代码,但不起作用
for (var i = 0, i < mlength; i++) {
MARKETS[i].push(parseFloat(findDataForMonth(mname+i, month)) || null);
}
这行不通。我收到一个错误
如何将变量推入for循环?
mname+i
不会执行您认为它正在执行的操作。假设i
就是2
。您可能期望mname+i
返回c
(变量mname2
的值)。相反,它实际要做的是添加mname
(一个未定义的变量)+2
,得到一个ReferenceError
。
您的mname0
、mname1
等变量应该是一个数组:
var mname = [a, b, c, d, e];
然后这样引用它:
findDataForMonth(mname[i], month)
由于ARRAY中的值和mname vars的值是相同的(只是情况不同),您可以执行以下操作。
var ARRAY = ["A","B","C","D","E"];
var mlength = ARRAY.length;
var month = JAN;
var mnames = ["a", "b", "c", "d", "e"];
//OR
//var mnames = [1, 2, 3, 4, 5];
for (var i = 0; i < mlength; i++) {
var mname = mnames[i];
//instead of mname+i just use mname
}
你的方式:
1) 在没有ready
处理程序(如window.onload
dom ready
等)的head
或body
中包装以下代码,因为mname
变量将是本地的,否则不可在window
范围中导航。
var ARRAY = ["A","B","C","D","E"];
var mlength = ARRAY.length;
var mname0 = 'a';
var mname1 = 'b';
var mname2 = 'c';
var mname3 = 'd';
var mname4 = 'e';
for (var i = 0; i < mlength; i++) {
alert (window['mname'+i]);
}
2) 如果要在其中一个ready
处理程序中使用该代码,则有两个选项。定义不带var
关键字的mname
变量,或者像下面这样在window.
前面加上前缀。
var ARRAY = ["A","B","C","D","E"];
var mlength = ARRAY.length;
mname0 = 'a'; // or window.mname0 = 'a';
mname1 = 'b'; // or window.mname1 = 'b';
mname2 = 'c'; // etc.
mname3 = 'd';
mname4 = 'e';
for (var i = 0; i < mlength; i++) {
alert (window['mname'+i]);
}
记住,污染全局名称空间是一种糟糕的做法,除非你真的需要。
相关文章:
- 按键,值到数组:jQuery
- 数组数组jquery,json到数组
- 从数组jquery中基于子字符串的移除项
- 从数组jQuery中删除一组项
- 如何在数组jQuery中查找字符串的一部分
- 当输入字段名称在数组jquery中时序列化表单
- 打乱图像数组jquery
- 在数组 jQuery 中查找值
- 循环遍历多维数组 jQuery
- 在数组 jQuery 中查找特定的字符串模式
- 随机选择带有删除项的数组(jQuery)
- 在数组中附加值数组 - jquery
- 从数组 Jquery 中获取下拉列表的选定索引
- 删除相同值数组 Jquery
- 如何从数组 jquery 中删除特定值
- 将 2D 数组 jQuery Post 发送到 Java Servlet
- 获取数组jQuery中元素的索引
- 正在从会话数组Jquery Ajax中删除项
- 在GET请求中绑定复杂对象的数组-jquery.praram()传统标志
- 获取空对象数组jquery post