基于 JavaScript 中的属性过滤对象数组
filter()
方法是获取偏好结果的最简单方法。
除此之外,你可以遍历整个对象数组并显式声明条件。从技术上讲,较少代码和易于访问的技术是通过 filter
方法。
在这里,我们将重点介绍在对象数组上使用过滤器的两种方法。我们将一个回调函数指向一个变量或对象来存储过滤后的结果。
这个回调函数将具有函数的一般结构。稍后,我们也会尝试用箭头函数解决这个问题,并检查结果是否相似。
该演示将初始化一个具有多个属性的数组,也就是键值
对。策略是先访问对象,然后访问数组。
接下来,我们将获取一个属性并对其应用条件。当我们使用 filter
方法时,条件的完全匹配将被过滤。
让我们跳到代码行。
代码片段:
var feature = {
'models': [{
"name": "Raven",
"age": "22",
"height": "176",
"gender": "Female",
"hair": "Brown",
},
{
"name": "Alex",
"age": "23",
"height": "185",
"gender": "Male",
"hair": "Black",
},
{
"name": "Eden",
"age": "25",
"height": "169",
"gender": "Female",
"hair": "Black",
}
]
}
var extract = feature.models.filter(function(el){
return el.age<25 &&
el.height>=170 ;
});
console.log(extract);
输出:
在这里,feature.models.filter
相应地访问对象和数组。此外,filter
方法被触发以将约束放入其中。
正如我们所见,age<25 && height>170
提取了可能匹配的模型细节。
箭头函数是普通函数结构约定的简写方式。我们将看看是否可以使用箭头函数来过滤对象数组。
代码片段:
var feature = {
'models': [{
"name": "Raven",
"age": "22",
"height": "176",
"gender": "Female",
"hair": "Brown",
},
{
"name": "Alex",
"age": "23",
"height": "185",
"gender": "Male",
"hair": "Black",
},
{
"name": "Eden",
"age": "25",
"height": "169",
"gender": "Female",
"hair": "Black",
}
]
}
var extract = feature.models.filter(x => x.age<25 && x.hair == "Black");
console.log(extract);
输出:
根据上面的代码,使用箭头函数 filter
方法过滤掉必要的结果更加清晰。
这个过程只需要一个变量(这里是 x
)来指出属性。此外,这种编码风格用于缩短代码并由最新的 ES6 约定发布。
相关文章
在 Angular 中上传文件
发布时间:2023/04/14 浏览次数:71 分类:Angular
-
本教程演示了如何在 Angular 中上传任何文件。我们还将介绍如何在文件上传时显示进度条,并在上传完成时显示文件上传完成消息。
Angular 中所有 Mat 图标的列表
发布时间:2023/04/14 浏览次数:91 分类:Angular
-
本教程演示了在哪里可以找到 Angular 中所有 Mat 图标的列表以及如何使用它们。
Angular 2 中的复选框双向数据绑定
发布时间:2023/04/14 浏览次数:139 分类:Angular
-
本教程演示了如何一键标记两个复选框。这篇有 Angular 的文章将着眼于执行复选框双向数据绑定的不同方法。
在 AngularJS 中重新加载页面
发布时间:2023/04/14 浏览次数:142 分类:Angular
-
我们可以借助 windows.location.reload 和 reload 方法在 AngularJS 中重新加载页面。
在 AngularJs 中设置 Select From Typescript 的默认选项值
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程提供了在 AngularJs 中从 TypeScript 中设置 HTML 标记选择的默认选项的解释性解决方案。
在 AngularJS 中启用 HTML5 模式
发布时间:2023/04/14 浏览次数:150 分类:Angular
-
本文讨论如何在 AngularJS 应用程序上启用带有深度链接的 HTML5 模式。
在 AngularJs 中加载 spinner
发布时间:2023/04/14 浏览次数:107 分类:Angular
-
我们将介绍如何在请求加载时添加加载 spinner,并在 AngularJs 中加载数据时停止加载器。
在 Angular 中显示和隐藏
发布时间:2023/04/14 浏览次数:78 分类:Angular
-
本教程演示了 Angular 中的显示和隐藏。在开发商业应用程序时,我们需要根据用户角色或条件隐藏一些数据。我们必须根据该应用程序中的条件显示相同的数据。
在 Angular 中下载文件
发布时间:2023/04/14 浏览次数:104 分类:Angular
-
本教程演示了如何在 angular 中下载文件。我们将介绍如何通过单击按钮在 Angular 中下载文件并显示一个示例。