#javascript #html
#javascript #HTML
Вопрос:
Я пытаюсь нарисовать 3-й и 4-й треугольники на следующем рисунке с помощью JS в HTML. Я создал две функции для первых двух треугольников, и я думаю, что мне просто нужно немного скрутить циклы for для 3-го и 4-го, но я не знаю, как это сделать. Вот коды для первых двух.
function draw1() {
let mytable = "<table>"
for (let i = 1; i < 6; i ) {
mytable = "<tr>";
mytable = "<td>" "*".repeat(i) "</td>";
}
mytable = "</tr>"
document.write(mytable)
}
draw1()
function draw2() {
let mytable = "<table>"
for (let i = 5; i > 0; i--) {
mytable = "<tr>";
mytable = "<td>" "*".repeat(i) "</td>";
}
mytable = "</tr>"
document.write(mytable);
}
draw2()
Комментарии:
1. Вам были даны ответы. Пожалуйста, выберите один из многих и отметьте как решенный.
Ответ №1:
Чтобы повернуть *
стрелки, вам не нужно переделывать js. Вы можете просто использовать direction: rtl
правило css для table
того, что создает ваш js. Вот так:
table {
direction: rtl;
}
function draw1() {
let mytable = "<table>"
for (let i = 1; i < 6; i ) {
mytable = "<tr>";
mytable = "<td>" "*".repeat(i) "</td>";
}
mytable = "</tr>"
document.write(mytable);
}
draw1();
function draw2() {
let mytable = "<table>"
for (let i = 5; i > 0; i--) {
mytable = "<tr>";
mytable = "<td>" "*".repeat(i) "</td>";
}
mytable = "</tr>"
document.write(mytable);
}
draw2();
table {
direction: rtl;
}
Ответ №2:
Вам нужно добавить пробелы перед добавлением *. Поскольку вы рендерите HTML, используйте amp;nbsp;
символ пробела. Используйте 2 из них, чтобы соответствующим образом покрыть область в цикле.
function draw1() {
let mytable = "<table>";
for (let i = 1; i < 6; i ) {
mytable = "<tr>";
mytable = "<td>" "*".repeat(i) "</td>";
}
mytable = "</tr>";
document.write(mytable);
}
draw1()
function draw2() {
let mytable = "<table>";
for (let i = 5; i > 0; i--) {
mytable = "<tr>";
mytable = "<td>" "*".repeat(i) "</td>";
}
mytable = "</tr>";
document.write(mytable);
}
draw2();
function draw3() {
let mytable = "<table>";
for (let i = 1; i < 6; i ) {
mytable = "<tr>";
mytable = "<td>" "amp;nbsp;amp;nbsp;".repeat(5-i) "*".repeat(i) "</td>";
}
mytable = "</tr>";
document.write(mytable);
}
draw3();
function draw4() {
let mytable = "<table>";
for (let i = 5; i > 0; i--) {
mytable = "<tr>";
mytable = "<td>" "amp;nbsp;amp;nbsp;".repeat(5-i) "*".repeat(i) "</td>";
}
mytable = "</tr>";
document.write(mytable);
}
draw4();
Ответ №3:
Используйте приведенный ниже код для создания шаблона.
let n = 5; // you can take input from prompt or change the value
let string = "";
for (let i = 1; i <= n; i ) {
// printing spaces
for (let j = 0; j < n - i; j ) {
string = " ";
}
// printing star
for (let k = 0; k < i; k ) {
string = "*";
}
string = "n";
}
console.log(string);
Вот код для второго шаблона.
let n = 5; // you can take input from prompt or change the value
let string = "";
for (let i = 0; i < n; i ) {
// printing star
for (let k = 0; k < n - i; k ) {
string = "*";
}
string = "n";
}
console.log(string);