Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вопрос по двумерному массиву (https://javascript.ru/forum/misc/78468-vopros-po-dvumernomu-massivu.html)

рони 18.09.2019 18:59

jsNubster,
не копируйте сообщения целиком, без необходимости, есть цитирование и ник.

jsNubster 18.09.2019 20:47

Цитата:

Сообщение от рони (Сообщение 512936)
jsNubster,
не копируйте сообщения целиком, без необходимости, есть цитирование и ник.

Учту, извините.

Последний, касательно этой задачи, вопрос.

От меня хотят, чтобы я сделал ввод-вывод через:
var readline = require("readline");
            var rl = readline.createInterface(process.stdin, process.stdout);
            rl.on("line", function(line) {
              console.log("0,5,7,8,9")
              rl.close();
            }).on("close",function(){
              process.exit(0);
            });


Могли бы пояснить, как, либо где почитать внятно(потому что я уже читал, не понял), как это делается, я так понял, что это node.js, нативный js эту конструкцию не понимает.

Вот финальный вариант моей программы:

let number = [
  [0, 8],
  [1, 2, 4],
  [1, 2, 3, 5],
  [2, 3, 6],
  [1, 4, 5, 7],
  [2, 4, 5, 6, 8],
  [3, 5, 6, 9],
  [4, 7, 8],
  [0, 5, 7, 8, 9],
  [6, 8, 9]
];

let finalNumber = [];

let result = prompt('Введите пин код', 1234);
let devResult = [];
for (let i = 0; i < result.length; i++) {
    devResult[i] = result[i];

}


for (let i = 0; i < devResult.length; i++) {
    let a = devResult[i];
    finalNumber[i] = [];
        for(g = 0; g < number[a].length; g++){
            finalNumber[i][g] = number[a][g];
        }
}





function cartesianProduct(arr) {
    return arr.reduce(function(a,b){
        return a.map(function(x){
            return b.map(function(y){
                return x.concat(y);
            })
        }).reduce(function(a,b){ return a.concat(b) },[])
    }, [[]])
}

let a = cartesianProduct(finalNumber);

let b = [];
let finalString = '';
for (let i = 0; i < a.length; i++) {
    b[i] = a[i].join('');
}

for (i = 0; i < b.length; i++) {
    finalString += (b[i] + ',' + ' ');
}

finalString = finalString.slice(0, -2);

console.log(finalString);

рони 18.09.2019 21:26

Цитата:

Сообщение от jsNubster
Могли бы пояснить

не могу помочь, может кто-то другой подскажет по node.js.

Malleys 18.09.2019 23:48

Вот ваш код, который теперь работает через консоль https://github.com/Malleys/readline-...aster/index.js

Цитата:

Сообщение от jsNubster
Могли бы пояснить, как, либо где почитать внятно(потому что я уже читал, не понял), как это делается, я так понял, что это node.js, нативный js эту конструкцию не понимает.

Это называется консольная программа. Исходный код вашей программы доступен на GitHub. Для её запуска вам нужно выполнить следующие шаги... (Если у вас не установлен node.js, то установите его)
  • Откройте терминал
  • Скопируйте проект с GitHub к себе и перейдите в него
    Код:

    git clone https://github.com/Malleys/readline-app.git
    cd readline-app

    Если у вас не установлен git, то вы можете скачать архив с проектом и распаковать его
  • Установите один раз зависимости выполнив команду
    Код:

    npm install
  • Для запуска используйте команду
    Код:

    npm start


Часовой пояс GMT +3, время: 15:18.