SORU
4 Mart 2009, ÇARŞAMBA


JavaScript, basit bir beşgen kullanmaktır/string eşdeğer.format

C/PHP iyi bir JavaScript eşdeğer C#/Java programcıları için printf() arıyorum String.Format() (IFormatProvider için .NET).

Benim temel gereksinimi şimdilik sayıları bin ayırıcı bir biçimidir, ama kombinasyonları (tarihleri dahil) çok işleyen bir şey iyi olurdu.

Microsoft Ajax kütüphane String.Format() bir sürüm sağlar, ancak bu çerçeve tüm yükü istemiyoruz farkındayım.

CEVAP
12 Ocak 2011, ÇARŞAMBA


Daha önce önerilen çözümler binası:

// First, checks if it isn't implemented yet.
if (!String.prototype.format) {
  String.prototype.format = function() {
    var args = arguments;
    return this.replace(/{(\d )}/g, function(match, number) { 
      return typeof args[number] != 'undefined'
        ? args[number]
        : match
      ;
    });
  };
}

"{0} is dead, but {1} is alive! {0} {2}".format("ASP", "ASP.NET")

çıktılar

ASP öldü, ama ASP.NET yaşıyor! ASP {2}


Eğer değiştirmek için String'In prototipi: . isterseniz

if (!String.format) {
  String.format = function(format) {
    var args = Array.prototype.slice.call(arguments, 1);
    return format.replace(/{(\d )}/g, function(match, number) { 
      return typeof args[number] != 'undefined'
        ? args[number] 
        : match
      ;
    });
  };
}

Size çok daha tanıdık verir:

String.format('{0} is dead, but {1} is alive! {0} {2}', 'ASP', 'ASP.NET');

sonuç aynıydı:

ASP öldü, ama ASP.NET yaşıyor! ASP {2}

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Missouri Star Quilt Company

    Missouri Sta

    18 ŞUBAT 2009
  • sWooZie

    sWooZie

    9 ŞUBAT 2006
  • vgeller1

    vgeller1

    22 Kasım 2009