LoginSignup
21
20

More than 5 years have passed since last update.

JavaScriptでsprintf

Posted at

はてブChrome公式拡張 で使われている sprintf は単体でも使える。便利。

sprintf.js
var sprintf = function (str) {
    var args = Array.prototype.slice.call(arguments, 1);
    return str.replace(/%0(\d+)d/g, function(m, num) {
        var r = String(args.shift());
        var c = '';
        num = parseInt(num) - r.length;
        while (--num >= 0) c += '0';
        return c + r;
    }).replace(/%[sdf]/g, function(m) { return sprintf._SPRINTF_HASH[m](args.shift()) });
};
sprintf._SPRINTF_HASH = {
    '%s': String,
    '%d': parseInt,
    '%f': parseFloat
};

この拡張内で使われているUtility関数は他のケースでも便利に使いまわせるものが多い。ダイジェストは以下で解説してます。

JSの開発効率を上げる便利関数メモ

JSerなら ソース はひととおり目を通しておくと良いでしょう。

21
20
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
21
20