Ate*_*ral 7 javascript arrays jslint
JSlint不喜欢使用Array构造函数,并且没有允许它们的JSLint选项.因此,要创建长度为n的数组,不允许以下内容:
var arr = new Array(n);
Run Code Online (Sandbox Code Playgroud)
以下是我能解决这个问题的唯一方法吗?
var arr = [];
arr.length = 5;
Run Code Online (Sandbox Code Playgroud)
在正常情况下,这不是什么大问题(使用两行代码而不是一行代码),但我很遗憾无法使用简洁的字符串乘法器hack:
function repeat(str, times) {
return new Array(times + 1).join(str);
}
Run Code Online (Sandbox Code Playgroud)
JSLint 很容易被智取。
你可以这样做:
function repeat(str, times) {
var A = Array;
return new A(times + 1).join(str);
}
Run Code Online (Sandbox Code Playgroud)
这也可以工作:
function repeat(str, times) {
return new Array.prototype.constructor(times + 1).join(str);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
482 次 |
| 最近记录: |