📜  javascript 通过另一个数组过滤数组 - Javascript (1)

📅  最后修改于: 2023-12-03 14:42:38.885000             🧑  作者: Mango

JavaScript 通过另一个数组过滤数组

在 JavaScript 中,我们可以使用 filter() 函数来过滤数组中的元素。但是,如果我们有另一个数组作为过滤条件,我们该怎么办呢?这时候,我们可以使用 includes() 函数来判断元素是否存在于另一个数组中。

下面是一个例子:

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

const filteredArr = arr1.filter(item => arr2.includes(item));

console.log(filteredArr); // [2, 4]

在上面的代码中,arr1 是要被过滤的数组,arr2 是另一个数组作为过滤条件。我们使用了 filter() 函数来遍历 arr1,然后使用 includes() 函数判断元素是否存在于 arr2 中。如果存在,则留下。

最终,我们得到了一个新的数组 filteredArr,其中只包含 arr1 中存在于 arr2 中的元素。

为了更好地理解上面的代码,我们可以把它改写成普通的 for 循环:

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

const filteredArr = [];

for (let i = 0; i < arr1.length; i++) {
  const item = arr1[i];
  if (arr2.includes(item)) {
    filteredArr.push(item);
  }
}

console.log(filteredArr); // [2, 4]

这段代码的作用与上面的代码是完全一样的,只不过使用了普通的 for 循环来实现。

总之,JavaScript 通过另一个数组过滤数组,我们可以使用 filter() 函数和 includes() 函数来实现。这是处理数组过滤的一种常见方式,可以帮助我们更快地获取想要的数据。