如何从数组中删除匹配的单词?

时间:2018-05-19 04:46:16

标签: javascript

我有两个数组..

例如:

A = [ "uparea" , "selection"]

B = ["upareasetting"]

我想打印

"upareaselectionsetting"

需要删除b ???中的"uparea"

3 个答案:

答案 0 :(得分:0)

首先循环遍历A中的每个项目,以检查当前单词是否存在于B中。如果存在,则从B中删除。最后连接并连接两个数组以获得预期的输出。

使用forEach()concat()join()

尝试以下操作



let A = [ "uparea" , "selection"]
let B = ["upareasetting"];
A.forEach(function(i){
  if(B[0].indexOf(i) > -1)
    B = B[0].replace(i, '');
});
let res = A.concat(B).join('');
console.log(res);




答案 1 :(得分:0)

const A = ["uparea", "selection"],
  B = ["upareasetting"];

console.log(
  A.join("") +
  B.map(
    item => item.replace(/uparea/, "")
  ).join("")
);

// upareaselectionsetting

答案 2 :(得分:0)

这是我的解决方案,希望它有所帮助。

function removeMatchingWords(a, b) {
    result_string = "";
    for (let i=0; i<a.length; i++) {
        result_string += a[i];
        for (let j=0; j<b.length; j++) {
            if (b[j].includes(a[i])) {
                b[j] = b[j].replace(a[i], "");
            }
        }
    }
    for (let k=0; k<b.length; k++) {
        result_string += b[k];
    }
    return result_string;
};