Im, используя node.js для отображения элементов из txt-файла. Мне нужно распечатать их с терминала, однако я хочу, чтобы он принимал больше параметров, и теперь он принимает их, но только печатает один из них (последний), я хочу, чтобы он печатал каждый элемент в параметре и выносил их из списка.Node.js Почему он будет печатать только один за раз
// Make sure we got a filename on the command line.
if (process.argv.length < 3) {
console.log('Usage: node ' + process.argv[1] + ' FILENAME');
process.exit(1);
}
// Read the file and print its contents. And split into an array after each space
var fs = require('fs') , filename = process.argv[2];
var array = fs.readFileSync('dependencies.txt').toString().split('\n');
\t //console.log(array[0]);
if(process.argv.length >= 3){
for(var j = 3; j < process.argv.length; j++)
var test = process.argv[j];
functionName(test);
}
function functionName(test){
for(var i = 0; i < array.length; i++){
var pattern = /([^\s]+)/g;
var line = pattern.exec(array[i]);
if(line && test == line[0]){
console.log(array[i]);
}
}
}
//fs.readFile(filename, 'utf8', function(err, data) {
// if (err) throw err;
// console.log('OK: ' + filename);
// console.log(data)
//});
Вы ожидали назвать 'functionName' один раз для каждой итерации этого цикла? потому что это не то, что вы делаете. вместо 'functionName (test);' происходит после завершения цикла. –
да, мне нужно, чтобы он просматривал и печатал каждый элемент, который был вызван в терминале – user3010196
, поэтому используйте правильный '{' '}', когда у вас есть цикл for с несколькими строками. или сделать его одной строкой, удалив строку «var test». –