我在javascript中有一个数组。它指定图像 1-1050 的 URL。我的图像必须命名为 0001.jpg、0002.jpg 等...但是我的脚本调用 1.jpg、2.jpg...我对 JS 非常陌生,并且正在努力将此处的答案与我的脚本合并.
for (i = 0001; i < 1050; i++) {
images.push('/images/' + i + '.jpg');
}
我在javascript中有一个数组。它指定图像 1-1050 的 URL。我的图像必须命名为 0001.jpg、0002.jpg 等...但是我的脚本调用 1.jpg、2.jpg...我对 JS 非常陌生,并且正在努力将此处的答案与我的脚本合并.
for (i = 0001; i < 1050; i++) {
images.push('/images/' + i + '.jpg');
}
结合你和你的链接:
for (i = 1; i < 1050; i++) {
var str = "" + i
var pad = "0000"
str = pad.substring(0, pad.length - str.length) + str
images.push('/images/' + str + '.jpg');
}
我希望这会有所帮助
您可以制作一个实用函数,将整数转换为 4 位字符串表示:
function intTo4digitsString(nb) {
if(nb > 0 && nb < 10)
return "000"+nb;
else if(nb >= 10 && nb < 100)
return "00"+nb;
else if(nb >= 100 && nb < 1000)
return "0"+nb;
}
此版本限制为 4 位数字(并且不像其他答案那样容易扩展),但我认为它更具可读性:) 然后您可以使用:
for (i = 1; i < 1050; i++) {
images.push('/images/' + inTo4DigitsString(i) + '.jpg');
}
我会做这样的事情
for (i = 1; i < 1050; i++)
{
var name = '0000' + i;
images.push('/images/' + name.substr(name.length - 4) + '.jpg');
}
小提琴:http: //jsfiddle.net/4z5Sd/
谢谢马特乔。必须在阵列中添加“垫”才能充分发挥作用。
for (i = 1; i < 1050; i++) {
var str = "" + i
var pad = "0000"
var padd = pad.substring(0, pad.length - str.length) + str
images.push('/images/' + padd + '.jpg');
}
zeropad = function( n,l ){
var ret, d, i;
ret = n === null || n === undefined ? '' : n.toString();
// do we need to pad or truncate?
d = l - ret.length;
if (d>0) {
for (i=0;i<d; i++) {
ret = '0'+ret;
}
}
return(ret);
};
images.push('/images/'+zeropad(i,4) + '.jpg');
从一个图书馆我写了一段时间。https://github.com/deitch/jsorm-utilities
function padNum(num,length)
{
return Array((length+1)-num.toString().length).join("0")+num;
}
padNum(1,4);//0001
padNum(250,4);//0250
然后在您的代码中:
images.push('/images/' + padNum(i,4) + '.jpg');
怎么样...
for (i = 1; i < 1050; i++) {
images.push('/images/' + ('0000'.substring(0, i.toString().length)+i) + '.jpg');
}
我建议:
Number.prototype.leftPad = function (len) {
var l = this.toString().length,
d = len - l;
return new Array(d + 1).join('0') + this.toString();
};
for (var i = 1, len = 1051; i < len; i++) {
console.log(i.leftPad(4) + '.jpg');
}
参考:
function pad(val, len) {
return ("000000000000000000" + val).substr(len * -1);
}
用法:
console.log(pad(1, 4) + ".jpg");
> 0001.jpg
那这个呢:
for (var i = 1;i<1050;i++){
images.push("/images/"+(Array(5-(""+i).length)).join("0")+i+".jpg");
}