【问题标题】:jQuery - multiplying alphanumeric string [duplicate]jQuery - 将字母数字字符串相乘
【发布时间】:2011-10-04 12:23:10
【问题描述】:

有没有什么简单的方法可以在 jQuery / JS 中乘以字母数字字符串?

例如

var str = "ABC";
console.log( str * 5 ); // this will nerutn `Nan`
// where what i want is `ABCABCABCABCABC`

非常感谢任何建议。

【问题讨论】:

  • 我什至会说确定重复。旧线程中有一些很好的答案。
  • @Dade,使用帖子中的关闭链接链接到重复项。
  • @epascarello 它没有显示关闭链接。
  • @Dade,我猜你需要更多的代表! :)
  • @epascarello 奇怪,我在所有其他页面上都看到了删除链接......

标签: javascript jquery


【解决方案1】:

我在这里看到了确切的问题:

Repeat String - Javascript

只需将其添加到您的代码中:

String.prototype.repeat = function( num )
{
    return new Array( num + 1 ).join( this );
}

var str = "ABC";
console.log( str.repeat(5) ); // this will return `ABCABCABCABCABC`

【讨论】:

  • 这看起来更干净,并且可以创造性地使用Array.join。 :D +1!
  • 线程应该作为一个骗子关闭。
【解决方案2】:

尝试使用原型函数扩展String 对象。

String.prototype.repeat = function (n) {
    var str = '';
    for(var i = 0; i < n; i++) { str += this; }
    return str;
};

这样你就可以这样做了:

console.log(str.repeat(5));

【讨论】:

    【解决方案3】:
    String.prototype.duplicate = function( numTimes ){
      var str = "";
      for(var i=0;i<numTimes;i++){
          str += this;
      }
      return str;
    };
    
    console.log( "abc".duplicate(2) );
    

    jsbin example

    【讨论】:

      【解决方案4】:

      这会返回 Nan,因为 str 不是数字。

      你应该这样做:

      var str = "ABC";
      console.log( multiply(str,num) ); 
      

      具有功能

      function multiply(str,num){
              for ( var int = 0; int < length; int++) {
               str += str;
              }
              return str
      }
      

      【讨论】:

        【解决方案5】:
        String.prototype.multi = function(num) {
         var n=0,ret = "";
         while(n++<num) {
          ret += this;
         }
         return ret;
        };
        

        然后在你想要的任何字符串上使用 .multi(5) :) 喜欢:

        var s = "ABC";
        alert( s.multi(5) );
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-06-24
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-16
          相关资源
          最近更新 更多