函数,该函数获取字符串列表并在矩形框架中每行打印一个字符串


  1. 编写一个函数,该函数获取字符串列表,并在矩形框架中每行打印一个字符串。例如,列表["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));

我会这样做,但我相信还有更好的方法。

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));
}

不过,看起来你确实在发布一个实际的家庭作业/考试问题,所以一定要学习代码,并亲自学习它的实际作用。如果您不知道mapreducerepeat的作用,请查看文档并学习:

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

最新更新