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

  • Goran Dimov

    Goran Dimov

    1 HAZİRAN 2014
  • ThePhestor

    ThePhestor

    22 Mart 2011
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011