Javascript For循环在第一个循环后丢失变量值
抱歉,如果我的问题标题不准确,我想不出该如何表达Javascript For循环在第一个循环后丢失变量值,javascript,Javascript,抱歉,如果我的问题标题不准确,我想不出该如何表达 var选项=[2,3,4] //选择下拉列表 var select=document.getElementById(“itemSet”); 对于(变量i=0;i
var选项=[2,3,4]
//选择下拉列表
var select=document.getElementById(“itemSet”);
对于(变量i=0;i
活动
食物
物体
信件
检查收音机
因此,myCols是一个字符串
y = 0;
myCols = "2"
//first iteration
y += myCols // "2"
//second iteration:
y += myCols // "22"
要解决此问题,请添加一元加号运算符:
var myCols = +e.options[e.selectedIndex].value;
你可以在这里找到它-
while (y.length > 0)
arrNew.push(y.splice(0, myCols))
console.log(arrNew);
就这样 myCols
是一个字符串,i+=myCols
生成02
,022
等。在对其进行数学运算之前,将值转换为数字。切片在这里不起作用,相反,引用它可能会有帮助-@TusharWalzade为什么不起作用?如果myCols
是一个字符串,它就可以正常工作。仅供参考:e.options[e.selectedIndex]。value
可以简化为e.value
。请尝试我最近发布的答案。请注意,这将编辑您的y
数组。在数组之后,你的y
将为空。是的,这是真的。但是,如果我们进一步需要它,我们可以将其备份为-var z=y.slice(0)代码>在处理它之前。