日期:2014-05-16  浏览次数:20425 次

使用JS的FOR循环,如何动态生成这样的数组?
<script>

imgarr= [{img: '0.jpg',width: 300,height: 213},{img: '1.jpg',width: 300,height: 164},{img:'2.jpg',width: 300,height: 213},{img: '3.jpg',width: 147,height: 220},{img: '4.jpg',width: 300,height: 213},{img: '5.jpg',width: 165,height: 220},{img: '6.jpg',width: 165,height: 220},{img: '7.jpg',width: 165,height: 220},{img: '8.jpg',width: 165,height: 220}];

</script>

alert(imgarr) 结果为[object,object],[object,object],[object,object],[object,object],[object,object],[object,object],[object,object],[object,object],[object,object]

如何使用for循环,来动态生成以上数组,width与height值都可以相同。

------解决方案--------------------
JScript code
var imgarr = [];
for(var i = 0; i < 10; i++){
    imgarr.push({img: '0.jpg',width: 300,height: 213});
}

------解决方案--------------------


JScript code

function createArray(n,width,height){
    var a=null,b=[];
    for(var i=0;i<n;i++){
        a={
            img:i+'.jpg',
            width:width,
            height:height
        };
        b.push(a);
    }
    return b;
}

var x=createArray(10,200,300);

------解决方案--------------------
1、这是json数据。
2、生成这种有几种方法,jquery.ajax;eval;JSON.stringify 等
JScript code
<script>
var str="",imgarr;
for (var i=0;i<9;i++){
  str+=",{img: '"+i+".jpg',width: 300,height: 200}";
}
  imgarr=eval("["+str.substr(1)+"]");
  alert(imgarr);
</script>