我需要用Java语言制作句子反转器。可逆部分并显示有效。使用我的过滤器的字数计数不起作用。我想计算包含我的过滤字符串的单词。
示例:
过滤器:“ e” 句子:“是的,我不知道”
输出:“已过滤1个字。”
let knop = document.getElementById("button");
function reverser() {
let output = document.getElementById("outputWoorden");
let filterField = document.getElementById("filterInput");
let filterValue = filterField.value;
let input = document.getElementById("tekstInput");
let text = input.value;
let filterAmount = document.getElementById("filterAantal");
let filterNumber = filterAmount.value;
let array = [];
let count = 0;
array += text.split(" ").reverse().join(" ");
for (let i = 0; array.length; i++) {
if (array[i].filter(filterValue)) { //this part is wrong
array.reduce(array[i]);
count += 1;
}
}
filterNumber.value = count + "word(s) filtered.";
output.value = array;
}
knop.addEventListener("click", reverser);
Input: <input id="tekstInput"><br>
Filter: <input id="filterInput"><br>
Amount: <input id="filterAantal"><br>
Output: <input id="outputWoorden">
<button id="button">Filter</button>
输出应为正确数量的已过滤单词。
答案 0 :(得分:0)
如果要过滤数组,请不要使用join
首先将其转回字符串。
您不应在数组上循环,也应调用filter
。过滤器直接在数组上调用。它的参数是一个测试该元素是否符合您的条件的函数。测试一个字符串是否包含另一个字符串的方法是includes()
。
filter()
方法返回一个与条件匹配的所有元素的数组。因此,如果要删除匹配的单词,则必须使用逻辑 not 运算符!
反转测试。
通过从过滤后的数组的长度中减去原始数组的长度,可以获得删除的单词数。
let knop = document.getElementById("button");
function reverser() {
let output = document.getElementById("outputWoorden");
let filterField = document.getElementById("filterInput");
let filterValue = filterField.value;
let input = document.getElementById("tekstInput");
let text = input.value;
let filterAmount = document.getElementById("filterAantal");
let array = text.split(" ");
let filtered = array.filter(word => !word.includes(filterValue));
let reversed = filtered.reverse().join(" ");
let count = array.length - filtered.length;
filterAmount.value = count + " word(s) filtered.";
output.value = reversed;
}
knop.addEventListener("click", reverser);
Input: <input id="tekstInput"><br>
Filter: <input id="filterInput"><br>
Amount: <input id="filterAantal"><br>
Output: <input id="outputWoorden">
<button id="button">Filter</button>