在 Node.js glob 结果中加入数组循环
Joining loop of arrays in Node.js glob results
我有这个脚本:
var glob = require('glob');
glob('*.jpg', { cwd: 'public/portfolio/weddings/', sort: true }, function (err, files) {
var globResults = files;
globResults.forEach(function(entry) {
var results = '\'' + entry + '\'';
console.log(results.join(','));
});
})
join(',')
不起作用,导致脚本失败。没有它的实际输出:
'image-1.jpg'
'image-10.jpg'
'image-11.jpg'
'image-12.jpg'
'image-13.jpg'
'image-14.jpg'
'image-15.jpg'
'image-16.jpg'
'image-17.jpg'
'image-18.jpg'
'image-19.jpg'
预期输出:
'image-1.jpg',
'image-10.jpg',
'image-11.jpg',
'image-12.jpg',
'image-13.jpg',
'image-14.jpg',
'image-15.jpg',
'image-16.jpg',
'image-17.jpg',
'image-18.jpg',
'image-19.jpg'
稍后我想在数组循环中调用此输出。
var glob = require('glob');
glob('*.jpg', { cwd: 'public/portfolio/weddings/', sort: true }, function (err, files) {
var globResults = files,
results = [];
globResults.forEach(function(entry) {
results.push('\'' + entry + '\'');
});
console.log(results.join(','));
})
这是您要找的吗?由于 forEach 的回调,日志不应该受到影响,因为它是一个阻塞循环结构 IIRC。如果确实造成麻烦,您可能必须在那里使用常规 for 循环。
再想想为什么你不能直接加入文件?像这样
console.log("'"+files.join("', '")+"'");
我有这个脚本:
var glob = require('glob');
glob('*.jpg', { cwd: 'public/portfolio/weddings/', sort: true }, function (err, files) {
var globResults = files;
globResults.forEach(function(entry) {
var results = '\'' + entry + '\'';
console.log(results.join(','));
});
})
join(',')
不起作用,导致脚本失败。没有它的实际输出:
'image-1.jpg'
'image-10.jpg'
'image-11.jpg'
'image-12.jpg'
'image-13.jpg'
'image-14.jpg'
'image-15.jpg'
'image-16.jpg'
'image-17.jpg'
'image-18.jpg'
'image-19.jpg'
预期输出:
'image-1.jpg',
'image-10.jpg',
'image-11.jpg',
'image-12.jpg',
'image-13.jpg',
'image-14.jpg',
'image-15.jpg',
'image-16.jpg',
'image-17.jpg',
'image-18.jpg',
'image-19.jpg'
稍后我想在数组循环中调用此输出。
var glob = require('glob');
glob('*.jpg', { cwd: 'public/portfolio/weddings/', sort: true }, function (err, files) {
var globResults = files,
results = [];
globResults.forEach(function(entry) {
results.push('\'' + entry + '\'');
});
console.log(results.join(','));
})
这是您要找的吗?由于 forEach 的回调,日志不应该受到影响,因为它是一个阻塞循环结构 IIRC。如果确实造成麻烦,您可能必须在那里使用常规 for 循环。
再想想为什么你不能直接加入文件?像这样
console.log("'"+files.join("', '")+"'");