我不明白以下的foreach循环。你能解释一下吗?
var fs = require("fs");
console.log("Going to read directory /tmp");
fs.readdir("/tmp/", function(err, files) {
if (err) {
return console.error(err);
}
files.forEach(function(file) {
console.log(file);
});
});
答案 0 :(得分:0)
根据fs文件:
异步readdir(3)。读取目录的内容。回调有两个参数(错误,文件),其中files是目录中文件名的数组,不包括'。'和' ..'。
因此,您有一个来自指定目录的文件列表。
Doc在这里:https://nodejs.org/api/fs.html#fs_fs_readdir_path_options_callback
答案 1 :(得分:0)
files
这里是集合对象,可能包含多个项目。 forEach
循环遍历files
集合的每个项目,您可以通过forEach
function(file) {}
内的每个项目(文件)
答案 2 :(得分:0)
forEach
获取files
数组的每一项,并为每个项执行函数,并将此项本身作为参数传递给函数。函数内的所有代码:
files.forEach(function(file) {
console.log(file);
});
将针对每个数组项执行(它的工作方式类似于常规for
循环)。
有关forEach
:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/forEach
答案 3 :(得分:0)
如下所示:
var a = ["a", "b", "c"];
a.forEach(function(entry) {
console.log(entry);
});
因此,例如,如果文件包含文件名数组,则每个文件将在浏览器控制台中打印。
答案 4 :(得分:0)
此:
files.forEach(function(file) {
console.log(file);
});
完全相同:
for(var i=0;i<files.length;i++){
console.log(files[i]);
}