Как принять ввод через консоль в javascript (node.js)? - PullRequest
0 голосов
/ 30 января 2020

Я сталкиваюсь с трудностями, принимая данные в Javascript. Я использую nodejs для запуска js файлов с помощью следующей команды:

node filename.js

Может кто-нибудь рассказать мне все способы ввода 2D-матрицы из консоли?

Кроме того, почему это так сложно в JS? Я ищу простой метод, как gets () или что-то эквивалент Cin в C ++.

1 Ответ

0 голосов
/ 31 января 2020

Вы можете использовать process.stdin, который считывает данные из вашего стандартного ввода в виде потока, что примерно эквивалентно C ++ cin.

process.stdin.on('readable', () => {
  let data;
  while ((data = process.stdin.read()) !== null) {
    try {
      let obj = JSON.parse(data);
      console.log(obj[1][0])  // -> 3
    } catch (e) {
      console.log('Not a 2D Matrix')
      continue;
    }
  }
});

node index.js
foo
Not a 2D Matrix
[[1, 2], [3, 4], [5, 6]]
3
...