簡體   English   中英

從數組中刪除回車符-Javascript

[英]Removing return carriage from an array - Javascript

我有如下所示的數組:

 ["↵", "Oh", "yeah,", "did", "we", "mention", "it’s", "free?↵"]

有沒有一種方法可以從字符串和數組中刪除該??
我試過了

str.replace(/(\r\n|\n|\r)/gm,"");

這沒有幫助。

您可以將String.prototype.trimArray.prototype.filter結合使用以清除虛假值,從而從空字符串中清除數組。 例如:

 var arr = ["\\n", "", "Oh", "yeah,", "did", "we", "mention", "it's", "free?\\n"] // check array before alert(JSON.stringify(arr)); arr = arr.map(function(el) { return el.trim(); }).filter(Boolean); // after cleaning up alert(JSON.stringify(arr)); 

只需在/\\s+/上分割字符串,就不再需要執行此操作。

var str='\nOh yeah, did we mention it’s free?\n';
var arr=str.split(/\s+/);

注意:您可能需要從字符串拳頭的開始和結尾處修剪\\s+ (較早的)不支持trim() )的瀏覽器可以使用:

arr=str.replace(/^\s+|\s+$/g, '').split(/\s+/);

嚴格回答您的問題,如何從數組中的字符串中刪除“回車符”:

// you have:
var str= '\nOh yeah, did we mention it’s free?\n';
var arr= str.split(' ');

// no function needed, a simple loop will suffice:
for(var L=arr.length; L--; arr[L]=arr[L].replace(/[\n\r]/g, ''));

請注意(在您的示例中已經以array-item 0看到),您可能最終在數組中添加了一些空字符串(不是未定義)。

嘗試這個:

function removeReturn(ary){
  var b = [], a = [];
  for(var i=0,l=ary.length; i<l; i++){
    var s = ary[i].split('');
    for(var n=0,c=s.length; n<c; n++){
      if(s[n] === '\u021B5')s[n] = '';
    }
    b.push(s.join(''));
  }
  for(var i=0,l=b.length; i<l; i++){
    var x = b[i];
    if(x !== '')a.push(x);
  }
  return a;
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM