我尝试将句子拆分为单个单词,然后对其进行过滤以删除不需要的单词。之后,将新内容放入图片和jsfiddle演示中的新表中。
问题是:
请观看演示: https://jsfiddle.net/Ashayas/xetqznLb/
屏幕:(不要害怕颜色,它们会显示我想要实现的目标) IMAGE - CONSOLE LOG
代码:
// 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"];
答案 0 :(得分:0)
我不确定您的预期答案是什么。意思是,您希望在选项卡中存储什么?您可以结合使用join,includes和split方法。您可以尝试这样的事情
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("_________________________________");
}
答案 1 :(得分:0)
假设您已设置好数组,则可以使用正则表达式删除不需要的内容
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, ' ')
将删除重复的空格,因此您的数组将保持您想要的方式