const rl = require("readline").createInterface({ input: process.stdin }); var iter = rl[Symbol.asyncIterator](); const readline = async () => (await iter.next()).value; void async function () { // 上次输入信息 let prevInput = [] // 输入次数统计 let inputCount = 0 let count = 0 function resetAndPrint(inputList) { inputList = inputList || prevInput // 第三次输入还是一位数,则输入上次输入 inputList.map((item) => { count+= parseInt(item, 10) }) console.log(count) inputCount = 0 count = 0 } while(line = await readline()){ let tokens = line.split(' '); if (tokens.length === 1) { // 存储上次输入 prevInput = tokens // 累计输入三次以上一位数 if (inputCount >= 2) { resetAndPrint() } } else { resetAndPrint(tokens) } inputCount += 1 } }()
遇到多个数据的一维数组,直接打印。当成输入的一组数据。
只输入单个数据,累计到3次,打印一组数据最后一项,第三次当做新的一组输入数据。