2016-06-03 10 views
1

Warum funktioniert Array-Spleiß nicht mit einer Array-formatierten Zeichenfolge? Wenn ich Array-formatierte Zeichenfolge sage, meine ich split(), um eine Zeichenfolge in Array zu machen.Array Spleiß funktioniert nicht mit Array-formatierten String (Split-String)?

function _formatText(text) { 
 
    var textList = text.replace(/\s+/g, ",").split(","); 
 
    return textList.splice(1, 0, "<br />").join(" "); 
 
} 
 

 
alert(_formatText("VERY VERY LONG TEXT"))

Antwort

1

Die Array#splice() Methode gibt das Array von entfernten Elemente, es ist leeres Array in Ihrem Fall und Sie bewerben sich auf dem zurückgegebenen Array verbinden.

Also müssen Sie es so neu anordnen.

function _formatText(text) { 
 
    var textList = text.replace(/\s+/g, ",").split(","); 
 
    textList.splice(1, 0, "<br />"); 
 
    return textList.join(" "); 
 
} 
 

 
alert(_formatText("VERY VERY LONG TEXT"))

0

Sie brauchen nicht die String-Methode ersetzen. Mit etwas reduziertem Code kann man das auch so machen.

function _formatText(text) { 
 
    var textList = text.split(/\s+/); 
 
    return textList.slice(0,1).concat("</br>",textList.slice(1)).join(" "); 
 
} 
 

 
alert(_formatText("VERY VERY LONG TEXT"))

Verwandte Themen