Javascript:如何删除数组中字符串中的特定字符值

标签 javascript arrays string loops

我试图从数组中的每个字符串中删除标点符号,但是尝试删除数组中的字符串中的任何类型的字符时都会存在此问题。

我尝试创建 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);

我已经搜索了与此相关的其他问题,但我无法找到任何答案,特别是要删除的元素包含在另一个列表中的情况。感谢您的帮助。

最佳答案

您可以使用arrayB生成正则表达式,然后使用array#map迭代arrayA中的每个单词并使用string#替换以删除arrayB中的单词。

let arrayA = ['abc', 'def', 'ghi'],
    arrayB = ['a', 'e', 'i', 'o', 'u'],
    regExp = new RegExp(arrayB.join('|'), 'g'),
    result = arrayA.map(word => word.replace(regExp, ''));
    
console.log(result);

关于Javascript:如何删除数组中字符串中的特定字符值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47960173/

相关文章:

javascript - 将 Redux 状态共享给其他客户端在字符串化时不起作用

ios - 将 Realm 对象数组存储在另一个 Realm 对象中(Swift)

string - Perl - 如果字符串包含文本?

R - 如何使用整数索引对数据帧的行进行子集化?

javascript - Protractor:陈旧元素引用位于 "browser.wait(EC.visibilityOf(confDial), FIFTY_SECONDS);"

javascript - 循环中的onreadystatechange,readystate改变太晚了

javascript - 获取数组中字符串的最后一个元素(Javascript)

c - 在 C 中初始化 3 维字符数组

c - C 代码有问题

javascript - 在以下代码中将逗号分隔的字符串值分配给变量有什么问题?