使用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值都可以相同。
[解决办法]
var imgarr = [];for(var i = 0; i < 10; i++){ imgarr.push({img: '0.jpg',width: 300,height: 213});}
[解决办法]
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 等
<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>