js for loop一直无限循环
js for loop keeps looping unlimitedly
我真的卡在了这部分。首先,我成功地从用户上传的 summernote 编辑器中收集了所有 img 源。但是当我尝试循环它们以检查 img 链接是否编码为 base64 并尝试解码它们并将它们保存在一起时。但在我的代码中,fo loop 一直无限循环。 img标签的循环列表有问题吗?
function getAllImages() {
let images = $(".note-editable p").find('img').map(function() {
return $(this).attr('src')
}).get();
console.logt(images);
let base64regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
let imgSrc = [];
for(let i=0; images.length; i++){
if(base64regex.test(images[i])) {
console.log("["+images[i]+"]");
let decoded=atob(images[i]);
console.log("img decoded");
imgSrc.push(decoded);
}
else if(base64regex.test(images[i]) == false){
console.log("["+images[i]+"]");
imgSrc.push(images[i]);
}
}
return imgSrc;
}
请在for循环中使用i < images.length
。
function getAllImages() {
let images = $(".note-editable p").find('img').map(function() {
return $(this).attr('src')
}).get();
console.logt(images);
let base64regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
let imgSrc = [];
for(let i=0; i < images.length; i++){
if(base64regex.test(images[i])) {
console.log("["+images[i]+"]");
let decoded=atob(images[i]);
console.log("img decoded");
imgSrc.push(decoded);
}
else if(base64regex.test(images[i]) == false){
console.log("["+images[i]+"]");
imgSrc.push(images[i]);
}
}
return imgSrc;
}
我真的卡在了这部分。首先,我成功地从用户上传的 summernote 编辑器中收集了所有 img 源。但是当我尝试循环它们以检查 img 链接是否编码为 base64 并尝试解码它们并将它们保存在一起时。但在我的代码中,fo loop 一直无限循环。 img标签的循环列表有问题吗?
function getAllImages() {
let images = $(".note-editable p").find('img').map(function() {
return $(this).attr('src')
}).get();
console.logt(images);
let base64regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
let imgSrc = [];
for(let i=0; images.length; i++){
if(base64regex.test(images[i])) {
console.log("["+images[i]+"]");
let decoded=atob(images[i]);
console.log("img decoded");
imgSrc.push(decoded);
}
else if(base64regex.test(images[i]) == false){
console.log("["+images[i]+"]");
imgSrc.push(images[i]);
}
}
return imgSrc;
}
请在for循环中使用i < images.length
。
function getAllImages() {
let images = $(".note-editable p").find('img').map(function() {
return $(this).attr('src')
}).get();
console.logt(images);
let base64regex = /^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/;
let imgSrc = [];
for(let i=0; i < images.length; i++){
if(base64regex.test(images[i])) {
console.log("["+images[i]+"]");
let decoded=atob(images[i]);
console.log("img decoded");
imgSrc.push(decoded);
}
else if(base64regex.test(images[i]) == false){
console.log("["+images[i]+"]");
imgSrc.push(images[i]);
}
}
return imgSrc;
}