Skip to content

Latest commit

 

History

History
92 lines (74 loc) · 1.91 KB

Javascript Node input output.md

File metadata and controls

92 lines (74 loc) · 1.91 KB

This doc shows how to input output for javascript in Node environment

Case #1. Single line input

const readline = require('readline');

const rl = readline.createInterface({
   input: process.stdin,
   output: process.stdout
});
rl.on('line', function (line) {
   console.log(line)
});

Case #2: Multiple lines input, number of line is certain:

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
// number of lines to be input:
let num = 2;
let inputs =[]; // Array to store all the lines 
rl.on('line', function (line) {
    inputs.push(line);
    if(inputs.length === num){
        // all lines are input done, start processing them
        console.log(inputs[0].substr(0,parseInt(inputs[1])))
        // Clean the array so that it can store next group lines
        inputs = [];
    }
});

case #3: Multiple lines input, first line is the line number, subsequent lines are real data:

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});
let num = 0;
let inputs = [];
rl.on('line', function (line) {
    if(num === 0){
        num = parseInt(line)
    }else{
        inputs.push(line.toLocaleLowerCase());
    }
    if(inputs.length === num){
        for(let item of inputs){
           //...
           //Process all the lines in input array
            // clean for next group
            num = 0;
            inputs = [];
        }
    }
});

Case #4, multiple lines input, line number is uncertain:

const readline = require('readline');

const rl = readline.createInterface({
    input: process.stdin,
    output: process.stdout
});

let inputs = [];

rl.on('line', function (line) {
        inputs.push(line);
    }
);
// 输入结束时,在 close 中对数据进行处理
rl.on('close', function () {
   
});