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

  • Andrea Lewis

    Andrea Lewis

    14 Mart 2013
  • Caramella Girls

    Caramella Gi

    19 Mayıs 2008
  • YAN TV

    YAN TV

    20 EKİM 2011