【发布时间】:2018-06-06 05:01:30
【问题描述】:
我正在尝试从数组中的每个字符串中删除标点符号,但是如果尝试删除数组中字符串中的任何类型的字符,则会存在此问题。
我尝试创建 3 个循环: 第一个循环遍历我打算编辑的 arrayA 中的每个项目。 第二个循环遍历 arrayA 中每个字符串中的每个字符。 第三个循环检查arrayA中的字符是否匹配arrayB中的任何字符,如果匹配则删除。
但没有任何内容被删除,我不知道为什么。
这是我目前的代码:
let arrayA = ['abc', 'def', 'ghi'];
let arrayB = ['a', 'e', 'i', 'o', 'u'];
arrayA.forEach((item) => {
for (let i=0; i < item.length; i++) {
for (let arrayBIndex = 0; arrayBIndex < arrayB.length; arrayBIndex++) {
item.replace(arrayB[arrayBIndex], '');
};
};
});
console.log(arrayA);
我已经搜索了与此相关的其他问题,但我无法找到任何答案,特别是要删除的元素包含在另一个列表中的位置。谢谢您的帮助。
【问题讨论】:
-
String.replace不会修改原始字符串。您应该改用函数的返回值。
标签: javascript arrays string loops