2009-06-04 13 views
14

Ich habe ein Array in Javascript. Dieses Array enthält Zeichenfolgen, die Kommas (",") enthalten. Ich möchte, dass alle Kommas aus diesem Array entfernt werden. Kann das gemacht werden?Ersetzen Zeichenfolge in Javascript-Array

+0

Kannst du die Strings nicht filtern, bevor sie in das Array geschoben werden? Ansonsten ist das nur eine einfache for-Schleife. –

+0

Ich habe versucht, aber die Saiten kommen von einem anderen Ort, dynamisch. Aber es ist sowieso egal, ich habe herausgefunden, was ich falsch mache. Ich ließ nach jedem db-Ergebnis ein Komma stehen. Ich war überzeugt, dass der Array-Push, den ich machte, nach jedem Push ein Komma hinzufügte. Ich bin ein Anfänger in JS. Danke trotzdem. –

+0

@MannyCalavera, siehe meine Antwort –

Antwort

38

Ja.

for(var i=0; i < arr.length; i++) { 
arr[i] = arr[i].replace(/,/g, ''); 
} 
+1

+1 für immer näher als ich, aber Sie müssen etwas mit dem Ergebnis tun, ersetzt nicht die Zeichenfolge mutieren. – AnthonyWJones

+1

Entschuldigung kekoav, Es sollte nicht sein: arr [i] = arr [i] .replace (/,/g, ''); ?? – tekBlues

+0

@tekBlues - ja, aktualisierter Code – Kekoa

0

Sicher - nur durch das Array iterieren und eine Standardentfernung bei jeder Iteration durchführen.

Oder wenn die Art Ihres Arrays erlaubt, könnten Sie zuerst das Array in eine Zeichenfolge konvertieren, die Kommas herausnehmen und dann wieder in ein Array konvertieren.

-1

die erforderliche Zeichenfolge in der Variablen s Gegeben: -

var result = s.replace(/,/g, ''); 
17

Der beste Weg, heute ist die map() Funktion auf diese Weise zu verwenden:

var resultArr = arr.map(function(x){return x.replace(/,/g, '');}); 

diese ECMA-262-Standard.

if (!Array.prototype.map) 
{ 
    Array.prototype.map = function(fun /*, thisp*/) 
    { 
     var len = this.length; 
     if (typeof fun != "function") 
      throw new TypeError(); 

     var res = new Array(len); 
     var thisp = arguments[1]; 
     for (var i = 0; i < len; i++) 
     { 
      if (i in this) 
       res[i] = fun.call(thisp, this[i], i, this); 
     } 

     return res; 
    }; 
} 
6

Sie können einfach tun:

array = ["erf,","erfeer,rf","erfer"]; 
array = array.map(function(x){ return x.replace(/,/g,"") }); 

Jetzt Array zu: Wenn Sie es für frühere Version nee können Sie dieses Stück Code in Ihrem Projekt hinzufügen

["erf", "erfeerrf", "erfer"]

+0

Sie müssen die Regex nicht selbst lesen (lesen Sie: sollte nicht), das passiert sowieso unter der Haube. –

+0

@StephanBijzitter ah! Ja. Vielen Dank. –

Verwandte Themen