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

  • Abbeydabby0277's channel

    Abbeydabby02

    9 ŞUBAT 2012
  • Peyton

    Peyton

    28 Aralık 2008
  • Shanice Caruthers

    Shanice Caru

    27 EKİM 2011