为了我自己的教育,我仍然希望看到像这样的构造的优雅 jQuery 版本 - 请注意图像文件名是基于 1 而不是基于 0 :
var nofImages = 10; // user defined
var slideShowArray = new Array(nofImages); // cannot use [nofImages] of course
for (var i=0, n=slideShowArray.length;i<n;i++) {
slideShowArray[i]="/images/image"+(i+1)+".jpg";
}
或者根据上面提到的文章也许应该是
var nofImages = 10; // user defined
var slideShowArray = [];
for (i=nofImages;i>0;i--) {
slideShowArray[(i-1)]="/images/image"+i+".jpg";
}
谢谢
最佳答案
var slideShowArray = $.map(new Array(10), function(i,j) {
return '/images/image'+(j+1)+'.jpg';
});
在 Javascript 1.8 中,您将能够更优雅地做到这一点:
var slideShowArray = $.map(new Array(10), function(i,j) '/images/image'+(j+1)+'.jpg');
甚至
$.range = function(first,last,step) {
step = step || 1;
if (typeof last == undefined) {
last = first;
first = 0;
}
return $.map(Array((first-last)/step), function(i,j) {
return j*step + first;
});
}
var slideShowArray = ['/images/image'+i+'.jpg' for (i in $.range(1,10))];
关于jquery - 对于 jQuery 纯粹主义者 - 简单的数组填充?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4447611/