//第一次碰到行数未知的读取行,检验输入个数方法实现。空间复杂度和代码可读性都有优化空间,嵌套if...else看着很乱。 const rl = require("readline").createInterface({ input: process.stdin }); let numbers = 0; let array = []; rl.on("line", (input) => { if (numbers === 0) { numbers = input * 1; // console.log("请输入" + numbers + "个数字,空格分隔:"); } else { if (array.length !== numbers) { array1 = input.split(" ").map(Number); // console.log("输入的数字个数为:" + array1.length); array = array.concat(array1); } if (array.length === numbers) { // console.log("输入的数字个数正确。"); let min = array[0]; let max = array[0]; for (let i = 0; i < array.length; i++) { if (array[i] > max) { max = array[i]; } if (array[i] < min) { min = array[i]; } } console.log(max - min); rl.close(); } } });