JavaScript 使用另一个数组来过滤数组

JavaScript 使用另一个数组来过滤数组

在给定的问题中,我们需要使用javascript功能帮助过滤一个数组中的另一个数组的元素。在javascript中,我们有一个内置函数叫做filter(),用来过滤数组中的元素。我们可以通过使用这个函数来解决这个问题。

什么是javascript中的数组过滤

让我们了解在数组中对对象进行操作的过程。

过滤的意思是根据某些条件过滤数组。在javascript中,过滤数组是根据一定条件从输入数组中包括或排除元素来创建一个新的数组。这是基于特定条件进行的。在javascript中,有一个filter方法可以用来过滤数组数据。

这个方法根据给定的条件或函数创建一个新的数组,只包含通过给定条件的元素。如果条件返回true,则把元素包含在新数组中,否则不包含。由filter方法通过给定条件的元素组成的数组成为结果数组。

我们将在本文中介绍一些最常用的函数的用法。

JavaScript 使用另一个数组来过滤数组

上述问题的逻辑

用javascript的预定义函数最简单地过滤给定的数组。因此,让我们理解给定问题的逻辑。

为了过滤给定的输入数组,我们需要两个数组,两个数组中有一些相同的元素。我们现在需要创建一个新数组,其中包含那些在两个数组中不匹配的过滤值。所以请记住这个问题,我们将继续向前进行。

为了满足这个要求,我们需要一个filter方法。Array.filter方法主要用于根据特定条件对数组进行过滤。这个方法根据某个条件创建一个新数组,其中包含满足该条件并生成新元素的所有项。如果条件为真,则在新数组中返回新元素,否则不返回。因此,结果数组将包含使用输入数组创建的新元素。

步骤

步骤1: 声明两个数组,名为firstArray和secondArray,其中包含一些相同的值。

步骤2: 在第一步之后,声明并初始化一个名为filteredArray的附加数组。filter函数根据逻辑来过滤数组。在我们的例子中,我们会过滤数组的元素,如果该元素同时存在于firstArray和secondArray中,则将其添加到filteredArray中。

步骤3: 第二步完成后,我们将展示过滤数组的结果。

示例

//define two arrays with some identical properties
const firstArray = ['apple', 'banana', 'orange', 'pineapple'];
const secondArray = ['banana', 'pineapple'];

//filter the array
const filteredArray = firstArray.filter((item) => secondArray.includes(item));

console.log(filteredArray);

输出

[ 'banana', 'pineapple' ]

在上面的例子中,我们定义了两个数组:firstArray和secondArray。我们需要过滤掉在array2中不包含的数组1中的项。因此,我们使用filter()方法来生成一个通过给定条件的元素的新数组。所以结果数组显示的是存在于secondArray中的项。

示例

//define array of ages
const ages = [32, 33, 16, 40];

//create a function to check adult ages
function checkAdult(age) {
  return age >= 18;
}

//filter the array
const filterAge = ages.filter(checkAdult);
console.log(filterAge);

输出

[ 32, 33, 40 ]

复杂度

正如我们所见,对于一个数组的过滤技术。完成执行该代码所需的时间是O(n)。其中’n’表示firstArray的大小,因为filter方法会迭代数组中的所有元素。而获取结果所需的空间是O(m),其中m是被称为filteredArray的新数组的长度。因为会创建一个新数组来存储过滤的项。

结论

在这段代码中,我们使用javascript的filter函数实现了不同的过滤技术。我们也看到这些方法在处理较大的数组时效率不高。最后计算出的时间复杂度是O(n),其中n是输入数组的大小。空间复杂度是O(m)。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程