javascript 数组循环赋值输出

var sr=['a','b','c'];
for (var i=0 ;i < sr.length ; i++){
//怎么写?
sr[i]=document.getElementsByName(sr[i])[0].value; //不行呀

}

//如何实现
a=document.getElementsByName('a')[0].value;
b=document.getElementsByName('b')[0].value;
c=document.getElementsByName('d')[0].value;

最简单的方法,就是循环一个数组,然后分别给数组的每一个元素赋值。
然后再将数组输出就可以了。
下面是代码,仅供参考:
<script>
    var arr = new Array(10);
    for(var i = 0;i<arr.length;i++){
        arr[i] = i;
    }
    console.log(arr);  //输出的结果:[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
</script>
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-10-18
这个是不可以的,sr里面的元素都是string类型的,都是常量,而可以赋值的都是变量。这其中的概念不要混淆了。
第2个回答  2012-10-18
实现不了。sr里面的元素都是string类型的,都是常量,而可以赋值的都是变量。

可以建2个数组。例如:
var sr=['a','b','c'];
var des=new Array();
for (var i=0 ;i < sr.length ; i++){
//怎么写?
des[i]=document.getElementsByName(sr[i])[0].value; //不行呀

}
获取的时候就获取des[i]
第3个回答  2012-10-18
你是要循环赋值到表单?
<input id="a" value="">
<input id="b" value="">
<input id="c" value="">

var sr=['a','b','c'];
for (var i = 0; i < sr.length;i++){
document.getElementById(sr[i]).value=sr[i];
}
这么写吧。
第4个回答  2012-10-18
<input type="text" value="1" name="a"></input>
<input type="text" value="2" name="b"></input>
<input type="text" value="3" name="c"></input>
<script type="text/javascript">
var sr=['a','b','c'];
for (var i=0 ;i < sr.length ; i++){
eval('var '+sr[i]+'='+document.getElementsByName(sr[i])[0].value+';')
}
alert(a);
alert(b);
alert(c);
</script>本回答被提问者采纳
相似回答