如何在 ES6 中过滤对象数组?
在本文中,我们将尝试了解如何从 ES6 中的对象数组中过滤或分离出某些数据。
让我们首先了解如何通过遵循 JavaScript 提供的某些语法来创建对象数组。
对象数组:
- 对象数组可帮助任何用户在单个变量中存储多个值。
- 它实际上存储了一个固定大小的顺序访问集合和相同类型的集合。
- 通过使用以下语法,我们可以轻松地创建多个对象的数组。
句法:
通过使用以下语法,我们可以轻松创建对象数组。
let array_of_objects = [
{ property-name: value},
{ property-name: value},
.........
]
让我们看一下以下示例,以更好地了解如何创建对象数组。
例子:
Javascript
Javascript
Javascript
let blood_groups_data = [
{ name: "ABC", age: 19, blood_group: "B+" },
{ name: "DEF", age: 20, blood_group: "AB+" },
{ name: "JOHN", age: 25, blood_group: "A+" },
{ name: "APPLE", age: 45, blood_group: "B+" },
{ name: "PETER", age: 48, blood_group: "AB-" },
{ name: "JAMES", age: 53, blood_group: "B+" },
];
console.log(blood_groups_data);
let blood_group_required_data = blood_groups_data.filter(
(person) => person.age > 18 && person.blood_group === "B+"
);
console.log(blood_group_required_data);
上述代码片段的输出如下:
[
{ name: 'ABC', age: 18 },
{ name: 'GeeksforGeeks', age: 30 },
{ name: 'DEF', age: 50 }
]
现在我们已经了解了创建对象数组的概念,现在让我们看看如何根据用户要求从对象数组中过滤掉一些数据。
过滤器()方法:
以下按顺序排列的点将描述我们上面说明的任务-
- 为了从对象数组中过滤出内容,我们首先将使用filter()方法,我们将在最外层数组部分应用该方法。
- 在该方法中,我们将传递一个函数,该函数将对数组中存在的所有对象执行,并且要访问这些对象中的每一个,我们将使用任何名称的元素来访问该数组中存在的那些对象.
- 然后,根据用户的要求,该对象数组中的数据将被过滤掉,并在需要时显示出来。
示例 1:
Javascript
上述代码片段的输出如下:
[
{ name: 'ABC', age: 18 },
{ name: 'GeeksforGeeks', age: 30 },
{ name: 'DEF', age: 50 }
]
[
{ name: 'GeeksforGeeks', age: 30 },
{ name: 'DEF', age: 50 }
]
示例 2:
- 在这个例子中,我们将使用 filter() 方法过滤出用户需要的血型数据作为最终结果。
- 在那里,我们还将通过提供年龄应大于 18 岁以及所需血型为 B+ 的条件来使用 && 逻辑运算符。
Javascript
let blood_groups_data = [
{ name: "ABC", age: 19, blood_group: "B+" },
{ name: "DEF", age: 20, blood_group: "AB+" },
{ name: "JOHN", age: 25, blood_group: "A+" },
{ name: "APPLE", age: 45, blood_group: "B+" },
{ name: "PETER", age: 48, blood_group: "AB-" },
{ name: "JAMES", age: 53, blood_group: "B+" },
];
console.log(blood_groups_data);
let blood_group_required_data = blood_groups_data.filter(
(person) => person.age > 18 && person.blood_group === "B+"
);
console.log(blood_group_required_data);
上述代码片段的输出如下:
[
{ name: 'ABC', age: 19, blood_group: 'B+' },
{ name: 'DEF', age: 20, blood_group: 'AB+' },
{ name: 'JOHN', age: 25, blood_group: 'A+' },
{ name: 'APPLE', age: 45, blood_group: 'B+' },
{ name: 'PETER', age: 48, blood_group: 'AB-' },
{ name: 'JAMES', age: 53, blood_group: 'B+' }
]
[
{ name: 'ABC', age: 19, blood_group: 'B+' },
{ name: 'APPLE', age: 45, blood_group: 'B+' },
{ name: 'JAMES', age: 53, blood_group: 'B+' }
]