交替添加字符到字符串的开头和结尾

时间:2016-07-27 17:33:40

标签: javascript

我正在尝试解决一个Javascript难题。我需要编写一个函数,使用while循环将字符添加到字符串的开头,然后在下一个循环中将字符添加到字符串的结尾,然后添加到循环的开头。该函数接受两个参数:字符串和要添加的字符数。 到目前为止我已经

0ffffffffh

我正在通过前两个测试用例但是第三次​​通过循环无法正常工作。对于n = 3,期望“* * a *”,但只得到“* a”。它必须是一个while循环,所以我不知道我是不是正确设置循环或者我是否搞乱了变量。非常感谢任何帮助,因为我完全迷失了。

2 个答案:

答案 0 :(得分:0)

你可以通过编写如下代码来实现,

function padIt(str,n, pad = "*"){
  var left = Math.ceil(n/2), right = n - left;
  return pad.repeat(left) + str + pad.repeat(right);
}

此功能将打印,

console.log("a", 1); // "*a"
console.log("a", 2); // "*a*"
console.log("a", 10); // "*****a*****"

实现此代码后需要阅读

答案 1 :(得分:0)

您需要评论newStr+=padding;行。

这是精炼的代码,

function padIt(str,n){
  //coding here
  var newStr = "";
  var padding = "*";
  var i = 0;

  while(i<=n){
    i++;
    newStr=padding+str;
    //newStr+=padding;
}

  return newStr;

}

HTH