gpt4 book ai didi

javascript - 制作字符串模式

转载 作者:行者123 更新时间:2023-11-30 07:57:01 25 4
gpt4 key购买 nike

我正在尝试让以下代码按如下方式运行:

模式(4):

1
1*2
1**3
1***4


function pattern(n){
var output = "";
for (var i = 0; i < n; i++) {
output[i] = "1" + (Array(n-1).join("*")).toString() + n.toString();
}

return output;
}

这就是我目前所拥有的。当我运行代码时,我得到了一个空白的返回。有人可以在这里指出我正确的方向吗?谢谢!

示例测试类:Test.assertEquals(pattern(3),"1\n1*2\n1**3");

最佳答案

我做了一些改动,稍微修改了逻辑。

  1. 让输出为数组而不是字符串。
  2. i =1 而不是 i=0 开始迭代。我们需要第一个值为 1
  3. i==1 时,输出只会是1
  4. "1"+ (Array(i).join("*")).toString() + i.toString()); Array(i).join('*') 将连接 *,i 次 & i.toString()1在你的代码中你是 (Array(n-1).join("*")).toString() + n.toString();我相信它总是 n 作为最后一位。所以每次输出都是 1**n

希望这段代码有用

function pattern(n){
var output = [];
for (var i = 1; i <= n; i++) {
if(i==1){
output.push("1")
}
else if(i>1){
output.push("1" + (Array(i).join("*")).toString() + i.toString());
}
}

return output;
}
var m = pattern(5);
console.log(m.join('\n'));

检查这个jsfiddle

关于javascript - 制作字符串模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37382089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com