在JavaScript 中根据属性过滤对象数组

filter()方法是获取偏好结果的最简单方法。

除此之外,您可以遍历整个对象数组并显式声明条件。从技术上讲,较少代码和易于访问的技术是filter方法。

在这里,我们将重点介绍在对象数组上使用过滤器的两种方法。我们将一个回调函数指向一个变量或对象来存储过滤后的结果。

此回调函数将具有函数的一般结构。稍后,我们还将尝试使用箭头函数来解决这个问题,并检查结果是否相似。

目录

1.JavaScript中基于过滤对象数的通用返回调函数

2.在JavaScript中使用箭头数据根据属性过滤对象数据组


1.JavaScript中基于过滤对象数的通用返回调函数

该演示将初始化一个具有多个属性(也称为key-value对)的数组。策略是先访问对象,再访问数组。

接下来,我们将获取一个属性并对其应用条件。当我们使用该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提取了可能匹配的模型细节。

2.在JavaScript中使用箭头数据根据属性过滤对象数据组

箭头函数是普通函数结构约定的简写方式。我们将看看是否可以使用箭头函数来过滤对象数组。

代码片段:

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 公约发布

 

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值