带有字符串拆分的JS Lint数组文字表示法

arb*_*arb 6 javascript jslint

我知道JSLint只是一个指南,你应该把它所说的用一些盐,但是,我很好奇我怎么能解决这个警告而不重写整个功能.这是感兴趣的功能:

function randomString(length) {
    var chars = 'ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'.split(''),
    str = '',
    i;

    if (!length) {
        length = randomNumber(chars.length);
    }

    for (i = 0; i < length; i++) {
        str += chars[randomNumber(chars.length)];
    }
    return str;
}
Run Code Online (Sandbox Code Playgroud)

JS Lint告诉我"JS Lint:使用数组文字符号[]." 它指向的是string.split().如何在不重写整个函数的情况下满足JSLint?它甚至可能吗?

我知道还有其他方法可以生成随机字符串; 我对如何使用此方法解决JSLint警告感兴趣.

Net*_*dia 3

您可以以字符串为范围调用 String 原型 split 函数来避免警告:

var chars = String.prototype.split.call('ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz', ''), 
Run Code Online (Sandbox Code Playgroud)

不知道为什么 JSLint 会抱怨 split 是一个 String 方法。

请参阅:https ://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/split

这似乎也毫无怨言地通过了:

var alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz',
chars = alphabet.split("");
Run Code Online (Sandbox Code Playgroud)