【问题标题】:How to add spaces in the first and the end of a string variable如何在字符串变量的第一个和结尾添加空格
【发布时间】:2016-07-17 17:57:51
【问题描述】:

我正在尝试在此字符串变量的第一个和末尾添加空格,我尝试将字符串转换为数组,然后使用 push() 和 unshift() 添加空格 ...但它返回 "x .push 不是函数”

function space_fb(x){
  x.split(" ");Array.prototype.slice.call
  x.push (" ") ; 
  x.unShift (" ") ;
  return x.join(" ");;
}
var xxx = "Medardo";
space_fb(xxx);
alert(xxx);

【问题讨论】:

  • x=" "+x+" "; ?
  • 引用:“我的老师想要它作为一个函数!– 15YO-m”。发生这种情况时,这是多么悲伤,悲伤的一天。抱歉 - 我现在将删除我的答案。

标签: javascript arrays string arraylist


【解决方案1】:
function space_fb(x){
    x.split("");Array.prototype.slice.call
    x.push (" ") ; 
    x.unShift(" ") ;
    return x.join("");;
}
var xxx = "Medardo";
space_fb(xxx);
alert(xxx);

【讨论】:

    【解决方案2】:

    正如@itsgoingdown 所述,在 JavaScript 中,您可以使用 + 运算符附加字符串。真的没有必要将字符串拆分成字符数组,然后 push/unshift 来添加间距。

    【讨论】:

      【解决方案3】:

      这个怎么样? JSON.stringify 只是为了以这种方式显示输出。

      var x = "foo";
      
      function addSpaces(string){
        var a = string.split("");
        a.push(" ");
        a.unshift(" ");
        return a.join("");
      }
      
      document.write(JSON.stringify(addSpaces(x)));

      【讨论】:

        【解决方案4】:

        有很多方法可以做到这一点,您可以简单地在字符串值中添加空格,例如" Medardo ",它会起作用,但我的示例将处理动态字符串数据。

        您根本不需要 space_fb 函数,它非常简单:

        var xxx = " " + "Medardo" + " ";
        alert(xxx);
        

        按照 OP 的要求在他的“老师希望他”的功能中编辑

        function AddSpaces(x){
           return " " + x + " ";
        }   
        
        var xxx = AddSpaces("Medardo")
        alert(xxx);

        【讨论】:

        • 当然,这是一个简单的案例来展示 OP 试图做什么,而不是他预期用途的真实示例....如果是,为什么不只是 var xxx = " Medardo "; ?为什么要浪费时间连接 3 个字符串文字?
        • 非常正确,但如果他的数据是动态的,您会将其保留在@AlexMcMillan 上方的结构 - 抱歉第一条评论我没有看到您的其余评论哈
        • 如果字符串是undefinednull怎么办?如果字符串为空怎么办?如果字符串是数字怎么办?如果 OP 想把这个函数用作 reducer 怎么办?
        • 我不认为他这样做,因此他的问题并没有问这个问题。我无法为每种情况准备答案,哈哈@AlexMcMillan 你回答了他们要解决的解决方案,上面的内容将处理动态字符串数据。 .如果它是一个数字,您可以轻松解决,但无论如何您可能不希望数字结束空格..但这不是问题的一部分。
        • 哈哈,上帝啊,真是个错误,哈哈,谢谢@itsgoingdown,否则这个功能毫无意义。我只是震惊于他的老师想要它做的事情必须给我送来愚蠢的笑声
        【解决方案5】:

        这就是您不需要使用 ++ 运算符的全部内容。一种 。是一个连接运算符。

          var xxx = ' '.xxx.' ';
        

        【讨论】:

          【解决方案6】:

          这是因为您正在使用方法拆分,但变量没有被分配

          你有两个选择

          1.- x = x.split();

          2.- var myArray = x.split(" ");

          【讨论】:

          • 您好,感谢您的回答。我试过你说的,但还是不行,它说:“TypeError: myArray.unShift is not a function” 我做了:function space_fb(x){ var myArray = x.split(" "); myArray.push (" ") ; myArray.unShift (" ") ; myArray = x.join(" ");返回我的数组; } var xxx = "Medardo" space_fb(xxx);警报(xxx);
          • 只是您编写它的方式,只需使用小写 unshift 就可以了,您可以在此资源中看到它link
          猜你喜欢
          • 1970-01-01
          • 2016-03-26
          • 1970-01-01
          • 2022-06-20
          • 1970-01-01
          • 1970-01-01
          • 2021-07-27
          • 2016-11-08
          • 2013-09-28
          相关资源
          最近更新 更多