Dar*_*ney 13 javascript for-loop
我正在使用javascript,使用正则表达式从HTML代码中抓取图像.
我希望循环运行,直到脚本找不到更多图像或直到它达到12.
我正在尝试以下但不工作:
var imgs = d.getElementsByTagName('img'), found = [];
for(var i=0,img; ((img = imgs[i]) || ( $i < 13)); i++)
Run Code Online (Sandbox Code Playgroud)
这可能吗?我在正确的路线上吗?
相当新的JavaScript,但尝试!
I H*_*azy 15
你应该使用&&
而不是||
.另外,$i
应该是i
.
for(var i=0, img; (img = imgs[i]) && (i < 12); i++)
found.push(img);
Run Code Online (Sandbox Code Playgroud)
假设您想要found
包含前 12 个:
var imgs = d.getElementsByTagName('img');
var found = [].slice.call(imgs, 0, 12);
Run Code Online (Sandbox Code Playgroud)
您必须使用[].slice.call(imgs, ...)
而不是imgs.slice()
因为它imgs
只是一个伪数组,而不是一个真正的数组。
写作的另一种选择[].slice
是Array.prototype.slice
。
如果您想在循环内执行其他操作,只需使用上面创建的数组即可确保仅处理前 12 个图像:
for (var i = 0, n = found.length; i < n; ++i) {
// do something with found[i];
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
28416 次 |
最近记录: |