2

重複の可能性:
var x = new Array(); の何が問題なのですか?

if (!Number.prototype.toZeroPaddedString) {
  Number.prototype.toZeroPaddedString = function (count) {
    "use strict";
    var str = this.toString();
    return (new Array(count + 1 - str.length)).join('0') + str;
  };
}

コードを jsLint 標準でクリーンにしたいのですが、やりたいことを考えると、このエラーを取り除く方法が想像できません。

何かアドバイス?

ありがとう。

4

2 に答える 2

5

Crockford は (当然のことながら)キーワードnew Array()を好まないため、配列リテラル表記は使用の代替手段です。new表記法は is[]であり、 is の文字通りの表記法new Object()です{}。配列の長さが希望どおりになるようにするには.length、配列に設定できます。

return (new Array(count + 1 - str.length)).join('0') + str;

に:

var arr = [];
arr.length = count + 1 - str.length;
return arr​.join('0') + str;
于 2012-09-02T03:22:47.913 に答える
0

これを試して:

if (!Number.prototype.toZeroPaddedString) {
  Number.prototype.toZeroPaddedString = function (count) {
    "use strict";
    var str = this.toString();
    var ary = [];
    ary.length = count + 1 - str.length;
    return ary.join('0') + str;
  };
}
于 2012-09-02T03:38:47.257 に答える