使用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>