#javascript #reactjs
#javascript #reactjs
Вопрос:
- Напишите функцию, которая принимает список строк и печатает их, по одной на строку, в прямоугольной рамке. Например, список [«Hello», «World», «in», «a», «frame»] печатается как:
*********
* Hello *
* World *
* in *
* a *
* frame *
*********
мой код
var x = "hellonworldninnanframe";
function star(str) {
let arr = [];
arr = str.split("n");
for (let index = 0; index < 1; index ) {
console.log("*******");
for (let j = 0; j <= arr.length; j ) {
arr == arr[j].split(",");
console.log("*" arr[j] "*" );
}
}
console.log("******");
return arr;
}
console.log(star(x));
Комментарии:
1. сначала попробуйте решить это самостоятельно. И вставьте сюда код, на котором вы застряли. Этот портал не предназначен для решения домашних заданий
2. Я пытался, но он показывает ошибку
3. это вопрос?
Ответ №1:
Вот как я бы это сделал, но я уверен, что есть способы получше.
function makeStarBox(arr){
const longest = arr.reduce((a, b) => a.length <= b.length ? b : a);
const box_width = longest.length 2;
console.log("*".repeat(box_width));
arr.map(str => console.log("*" str " ".repeat(box_width - (str.length 2)) "*"));
console.log("*".repeat(box_width));
}
Похоже, что вы публикуете фактическое домашнее задание / экзаменационный вопрос, поэтому обязательно изучите код и узнайте сами, что он на самом деле делает. Если вы чего-то не знаете map
reduce
или repeat
знаете, ознакомьтесь с документацией и узнайте:
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/map
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/repeat