我想知道是否可以在两个连接的字符串或整数之间动态添加空格。例如,这里简单地连接一个字符串和一个整数:
var name = "Bruce"
var age = 14
name + " " + age
=> 'Bruce 14'
我希望名字和年龄之间的空间是动态的。 e.g:
var name = "Bruce"
var age = 14
var numberOfSpaces = something
name + 4 spaces + age
=> 'Bruce 14'
其中一个用例是在dc.js中绘制条形图,我可以将名称放在底部,将值放在条形图的顶部。但这是无关紧要的。我很好奇是否有方法。
答案 0 :(得分:1)
有一个proposed repeat()
method,但它几乎没有实现。
与此同时,你可以写自己的:
function repeatstr(ch, n) {
var result = "";
while (n-- > 0)
result += ch;
return result;
}
var name = "Bruce"
var age = 14
var numberOfSpaces = 4
var fullName = name + repeatstr(" ", numberOfSpaces) + age;
答案 1 :(得分:1)
您可以创建自己的功能:
function spaces(x) {
var res = '';
while(x--) res += ' ';
return res;
}
var name = "Bruce";
var age = 14;
name + spaces(4) + age;
> "Bruce 14"
我认为这是最漂亮和最简单的方式。
答案 2 :(得分:1)
var s = function(n) {return new Array(n + 1).join(",").replace(/,/g," ")};
var name = "Bruce";
var age = 14;
var numberOfSpaces = 4;
name + s(numberOfSpaces) + age;
答案 3 :(得分:0)
更新! String.prototype.repeat()
得到所有主流浏览器的支持已经有一段时间了。
您可以这样做:
var name = "Bruce";
var age = 14;
name + ' '.repeat(4) + age;