簡體   English   中英

拆分數組[0]元素並過濾,然后放入新表中

[英]Split array [0] element and filter, then put into new table

我嘗試將句子拆分為單個單詞,然后對其進行過濾以刪除不需要的單詞。 之后,將新內容放入圖片和jsfiddle演示中的新表中。

問題是:

  1. 我無法拆分(我嘗試過.split(“”);)
  2. 我不知道如何使它適用於每個數組(我嘗試過“ .map”)

請觀看演示: https : //jsfiddle.net/Ashayas/xetqznLb/

屏幕:(不要害怕顏色,它們會顯示我想要實現的效果) 圖像-控制台日志

碼:

// I try to go from arr to tab
arr = [];
arr[0] = ["1. XXX Be yourself; XXX everyone else YYY is XXX already taken."];
arr[1] = ["2. Dont cry ZZZ ZZZ because its over, smile ZZZ because it happened 50.50 30:30"];

tab = [];
tab[0] = ["1.", "Be", "yourself;", "everyone", "else", "is", "already", "taken."];
tab[1] = ["2.", "Dont", "cry", "because", "its", "over", "smile", "because", "it", "happened", "50.50", "30:30"];

var unwanted_content = ["XXX", "YYY", "ZZZ"];

我不確定您的預期答案是什么。 意思是,您希望在選項卡中存儲什么?您可以結合使用joinincludesplit方法。 你可以嘗試這樣的事情

 var splitCharacter = " "; var originalContent = [ ["1. XXX Be yourself; XXX everyone else YYY is XXX already taken.", "XXX another one"], ["2. Dont cry ZZZ ZZZ because its over, smile ZZZ because it happened 50.50 30:30"] ]; var unwantedContent = ["XXX", "YYY", "ZZZ"]; var tab = []; for (var i = 0; i < originalContent.length; i++) { console.log("*********************************"); tab[i] = originalContent[i].join(" ").split(splitCharacter); tab[i] = tab[i].filter(x => !unwantedContent.includes(x)); console.log("Original and filtered contents: "); console.log(originalContent[i]); console.log(tab[i]) console.log("_________________________________"); } 

假設您具有這樣的數組設置,則可以使用正則表達式刪除不需要的內容

var unwanted_content = [/XXX/g, /YYY/g, /ZZZ/g];

var tab = [];
arr.forEach(function(array) {
  var string = array[0];
  unwanted_content.forEach(function(unwanted) {
    string = string.replace(unwanted, '');
  })
  string = string.replace(/ +/g, ' ');
  tab.push(string.split(' '));
})

replace(/ +/g, ' ')是為了刪除重復的空格,因此您的數組將保持您想要的方式

暫無
暫無

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

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