Есть ли способ вывести по горизонтали в JavaScript - PullRequest
0 голосов
/ 08 марта 2020

Я пытаюсь вывести это на консоль, но это не работает так, как я хочу.

what I want is:

1 2 3 4 5 
1 2 3 4 5
1 2 3 4 5 <---I WANT IT LIKE THIS
1 2 3 4 5
1 2 3 4 5
And not:

1
2
3
4
5
1
2 <-- I DONT WANT IT LIKE THIS
3
4
5
1
2
3
4
5

Пожалуйста, есть способ добиться этого чисто на javascript без HTML с код ниже?



let n = 5;
for (i = 1; i <= n; i++){
    for (j = 1; j <= n; j++){
        console.log(j + " ");
        if (j = 5) {
            console.log("\n");
        } else continue;
    }
}

Ответы [ 6 ]

2 голосов
/ 08 марта 2020

Используйте временную строку, чтобы добавить свои значения i и записать ее в конце каждого внешнего цикла

let n = 5;
for (i = 1; i <= n; i++){
    var temp = "";
    for (j = 1; j <= n; j++){
        temp=temp+" "+j;
     }
     console.log(temp);
}
1 голос
/ 08 марта 2020

Просто хотел указать на то, что другие ответы не упоминают: символы новой строки.

Вы можете заранее сформировать свою строку, используя новые строки, где это необходимо, затем console.log() один раз.

let string = ''
let columns = 5
let rows = 5
for (let i = 0; i < rows; i++) {
  for (let j = 1; j <= columns; j++) {
    string += j + ' '
  }
  string += '\n'
}
console.log(string)
1 голос
/ 08 марта 2020

обновление ответа Сунил Ламы:

var n = 5;
var finaloutput = "";
for (i = 1; i <= n; i++){
    var temp = "";
    for (j = 1; j <= n; j++){
       temp=temp+" "+j;
    }
    finaloutput +=  temp + "\r\n";
}
console.log(finaloutput);

Результат в консоли:

 1 2 3 4 5
 1 2 3 4 5    
 1 2 3 4 5    
 1 2 3 4 5    
 1 2 3 4 5
1 голос
/ 08 марта 2020
let n = 5;
let line = "";
for (i = 1; i <= n; i++) {
    line = "";
    for (j = 1; j <= n; j++) {
        line += " " + j;
    }
    console.log(line);
}
1 голос
/ 08 марта 2020

Вы можете создать массив с Array.from и распространить его значения.

Кстати, пожалуйста, объявите все переменные, потому что если нет, эти переменные являются глобальными и могут привести к сумасшедшим результатам, если их взять в несколько циклов в разных функциях.

let length = 5;
for (var i = 1; i <= length; i++) {
    console.log(...Array.from({ length }, (_, i) => i + 1));
}
0 голосов
/ 08 марта 2020

Конечно. console.log может принимать столько аргументов, сколько вы хотите. Использование значений в одном журнале приведет к тому, что выходные данные будут записывать значения в горизонтальных группах.

for (let i = 0; i < 5; i++) {
    console.log(1, 2, 3, 4, i);
}
...