在Javascript中迭代变量 [英] Iterating over variables in Javascript
本文介绍了在Javascript中迭代变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我能console.log details_object [i]块2,并成功地看到所有的数组元素,但是就我所能得到的。
/ * Block 1 * /
/ * var title = document.getElementById('title')。value;
var phone = document.getElementById('phone')。value;
var firstn = document.getElementById('firstn')。value;
var lastn = document.getElementById('lastn')。value;
var displayn = document.getElementById('displayn')。value; * /
/ * Block 2 less code!* /
var details_object = [ title,phone,firstn,lastn,displayn]; (var i = 0,l = details_object.length; i< l; i ++){
var details_object [i] = document.getElementById('+ details_object [i 。] + ')值;
解决方案
var details_object [i] = document.getElementById('+ details_object [i] +')。value;
^ --- //删除这个变量
这就是导致错误的原因。你可能想要这样的东西:
var details_object = [title,phone,firstn,lastn ,displayn];
var obj = {}; (var i = 0,l = details_object.length; i< l; i ++){
obj [details_object [i]] = document.getElementById(details_object [i])的
。值;
$ b现在访问 obj.title
, obj.phone
等。
My goal with block 2 is to streamline my existing block 1 code by defining javascript variables in a for loop.The code below is giving me the error "Unexpected token [" in the console. I am not sure I am using the proper syntax here. Is there a way to loop over an array and insert each dynamically to get the desired result of block 1?
I am able to console.log details_object[i] in block 2 and successfully see all the array elements but that is about as far as I can get.
/*Block 1*/
/*var title = document.getElementById('title').value;
var phone = document.getElementById('phone').value;
var firstn = document.getElementById('firstn').value;
var lastn = document.getElementById('lastn').value;
var displayn = document.getElementById('displayn').value;*/
/*Block 2 less code!*/
var details_object = ["title", "phone", "firstn", "lastn", "displayn"];
for(var i=0, l = details_object.length; i < l; i++){
var details_object[i] = document.getElementById("'"+details_object[i]+"'").value;
}
解决方案 var details_object[i] = document.getElementById("'"+details_object[i]+"'").value;
^---// Delete this var
That is what was causing the error. You probably want something like this:
var details_object = ["title", "phone", "firstn", "lastn", "displayn"];
var obj = {};
for(var i=0, l = details_object.length; i < l; i++){
obj[details_object[i]] = document.getElementById(details_object[i]).value;
}
Now access obj.title
, obj.phone
, etc.
这篇关于在Javascript中迭代变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文