返回任意多次重复的字符串的最佳或最简洁的方法是什么?
以下是到目前为止我最好的拍摄:
function repeat(s, n){ var a = []; while(a.length < n){ a.push(s); } return a.join(''); }
给新读者的注意: 这个答案是旧的并且不是很实用它只是“聪明”,因为它使用Array的东西来完成String的工作。当我写“更少的过程”时,我绝对是指“更少的代码”,因为正如其他人在随后的回答中所指出的那样,它的表现像猪一样。因此,如果速度对您很重要,请不要使用它。
我直接将此函数放到String对象上。无需创建数组,填充数组并将其与空字符连接,只需创建适当长度的数组,然后将其与所需的字符串连接即可。结果相同,过程更少!
String.prototype.repeat = function( num ) { return new Array( num + 1 ).join( this ); } alert( "string to repeat\n".repeat( 4 ) );