📌  相关文章
📜  javascript 从数组中删除所有公共值 - Javascript (1)

📅  最后修改于: 2023-12-03 15:01:41.286000             🧑  作者: Mango

Javascript - 从数组中删除所有公共值

当处理多个数组时,有时需要从中删除所有公共值。这种操作可以轻松地通过JavaScript完成。

方法1: 使用filter()函数

可以使用filter()函数来实现从数组中删除所有公共值的操作。filter()函数接受一个函数函数作为参数,在函数中,我们可以访问数组中的每个元素,并决定是否要保留该元素。以下是使用filter()函数的示例代码:

const arr1 = [1, 2, 3, 4];
const arr2 = [2, 4, 5, 6];

const filteredArr1 = arr1.filter(x => !arr2.includes(x)); // [1, 3]
const filteredArr2 = arr2.filter(x => !arr1.includes(x)); // [5, 6]

console.log(filteredArr1); // [1, 3]
console.log(filteredArr2); // [5, 6]

以上代码使用了filter()函数和includes()函数来实现从数组中删除所有公共值的操作。filteredArr1和filteredArr2分别包含不同的数组元素。

方法2: 使用reduce()函数

另一种实现从数组中删除所有公共值的方法是使用reduce()函数。reduce()函数接受一个函数作为参数,该函数用于将数组的所有元素组合成一个值。以下是使用reduce()函数的示例代码:

const arr1 = [1, 2, 3, 4];
const arr2 = [2, 4, 5, 6];

const filteredArr1 = arr1.reduce((acc, val) => !arr2.includes(val) ? acc.concat(val) : acc, []); // [1, 3]
const filteredArr2 = arr2.reduce((acc, val) => !arr1.includes(val) ? acc.concat(val) : acc, []); // [5, 6]

console.log(filteredArr1); // [1, 3]
console.log(filteredArr2); // [5, 6]

以上代码使用了reduce()函数和includes()函数来实现从数组中删除所有公共值的操作。filteredArr1和filteredArr2分别包含不同的数组元素。

结论

以上是两种使用JavaScript从数组中删除所有公共值的方法。您可以根据自己的需求选择一种方法或两种方法,以便在处理多个数组时从中删除公共值。