基于 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 约定发布。
相关文章
Do you understand JavaScript closures?
发布时间:2025/02/21 浏览次数:108 分类:JavaScript
-
The function of a closure can be inferred from its name, suggesting that it is related to the concept of scope. A closure itself is a core concept in JavaScript, and being a core concept, it is naturally also a difficult one.
Do you know about the hidden traps in variables in JavaScript?
发布时间:2025/02/21 浏览次数:178 分类:JavaScript
-
Whether you're just starting to learn JavaScript or have been using it for a long time, I believe you'll encounter some traps related to JavaScript variable scope. The goal is to identify these traps before you fall into them, in order to av
How much do you know about the Prototype Chain?
发布时间:2025/02/21 浏览次数:150 分类:JavaScript
-
The prototype chain can be considered one of the core features of JavaScript, and certainly one of its more challenging aspects. If you've learned other object-oriented programming languages, you may find it somewhat confusing when you start
用 jQuery 检查复选框是否被选中
发布时间:2024/03/24 浏览次数:102 分类:JavaScript
-
在本教程中学习 jQuery 检查复选框是否被选中的所有很酷的方法。我们展示了使用直接 DOM 操作、提取 JavaScript 属性的 jQuery 方法以及使用 jQuery 选择器的不同方法。你还将找到许多有用的
jQuery 中的 Window.onload 与 $(document).ready
发布时间:2024/03/24 浏览次数:180 分类:JavaScript
-
本教程演示了如何在 jQuery 中使用 Window.onload 和 $(document).ready 事件。