根据对象属性过滤数组
P粉331849987
P粉331849987 2024-01-29 10:36:17
0
2
371

我有一个对象数组,如下所示:

var events = [
  { date: "18-02-2016", name: "event A" },
  { date: "22-02-2016", name: "event B" },
  { date: "19-02-2016", name: "event C" },
  { date: "22-02-2016", name: "event D" }
];

我有一个日期,例如“22-02-2016”。如何获取所有对象的数组,其日期与给定日期相同?所以在这个例子中我会得到事件 B 和 D。

P粉331849987
P粉331849987

全部回复(2)
P粉771233336

用户Array.prototype.filter()如下:。

var filteredEvents = events.filter(function(event){
    return event.date == '22-02-2016';
});
P粉489081732

您可以使用数组的 filter() 功能:

function filter_dates(event) {
    return event.date == "22-02-2016";
}

var filtered = events.filter(filter_dates);

filter_dates() 方法可以是独立的,如本例所示,可以重用,也可以作为匿名方法内联 - 完全由您选择 =]

一个快速/简单的替代方案就是一个简单的循环:

var filtered = [];
for (var i = 0; i 
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板