前端笔试输入输出模板-nodejs

首先,我们要了解一下nodejs中的readline的用法(下图内容来自nodejs中文文档):


了解了以上内容之后,直接上模板。

基础模板:

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

    // 每有一行输入触发一次 on 事件,调用一次回调函数
    // 当前行的输入以字符串的形式作为参数传入回调函数中
    rl.on('line', line => {
        console.log(line)
        console.log(line.trim().split(' '))
    })

    // 自测输入:
        name age
        sex hobby
    // 自测输出:
        name age
        [ 'name', 'age' ]
        sex hobby
        [ 'sex', 'hobby' ]

进阶模板:

    const readline = require('readline')
    const rl = readline.createInterface({
        input: process.stdin,
        output: process.stdout,
    })
    rl.on('line', handle)

    let lineNum = 0
    let temp = 0
    const inputArr1 = []
    const inputArr2 = []

    function handle(line) {
        lineNum++
        
        if (lineNum === 1) {
            temp = Number(line.trim())
            console.log(`这是第一行, 下面共有${temp}行数据, 将以数组形式保存`)
        } else {
            inputArr1.push(line.trim())
            inputArr2.push(line.trim().split(' '))
        }
        
        if (inputArr1.length === temp) console.log(inputArr1)
        if (inputArr2.length === temp) console.log(inputArr2)
        
        // if (lineNum === 2) ...
    }

    // 自测输入
        3
        name tom
        age 20
        sex male
    // 自测输出
        这是第一行, 下面共有3行数据, 将以数组形式保存
        [ 'name tom', 'age 20', 'sex male' ]
        [ [ 'name', 'tom' ], [ 'age', '20' ], [ 'sex', 'male' ] ]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值