use*_*r21 0 javascript json object filter
我在数组[0]中有以下对象:
[
{
"startDay": "05-06",
"endDay": "05-06",
"startTime": "xxxx",
"eventType": "craft"
},
{
"startDay": "05-05",
"endDay": "05-06",
"startTime": "1400",
"eventType": "art"
},
{
"startDay": "05-08","endDay": "05-08",
"startTime": "1100",
"eventType": "music"
},
{
"startDay": "05-08","endDay": "05-08",
"startTime": "1400",
"eventType": "fishing"
},
{
"startDay": "05-07","endDay": "05-08",
"startTime": "1400",
"eventType": "football"
}
]
Run Code Online (Sandbox Code Playgroud)
我如何通过item.startDay过滤它?例如,如果过滤器是"05-06",则过滤的将是:
[{
"startDay": "05-06",
"endDay": "05-06",
"startTime": "xxxx",
"eventType": "craft"
}]
Run Code Online (Sandbox Code Playgroud)
如果过滤器是"05-08",则过滤的将是:
[{
"startDay": "05-08","endDay": "05-08",
"startTime": "1100",
"eventType": "music"
},
{
"startDay": "05-08","endDay": "05-08",
"startTime": "1400",
"eventType": "fishing"
}]
Run Code Online (Sandbox Code Playgroud)
您可以使用filter
方法并将回调提供的函数作为参数传递.
filter()方法创建一个新数组,其中包含所有传递由提供的函数实现的测试的元素.
let data = [ { "startDay": "05-06", "endDay": "05-06", "startTime": "xxxx", "eventType": "craft" }, { "startDay": "05-05", "endDay": "05-06", "startTime": "1400", "eventType": "art" }, { "startDay": "05-08","endDay": "05-08", "startTime": "1100", "eventType": "music" }, { "startDay": "05-08","endDay": "05-08", "startTime": "1400", "eventType": "fishing" }, { "startDay": "05-07","endDay": "05-08", "startTime": "1400", "eventType": "football" } ]
let startDay = "05-08";
data = data.filter(function(item){
return item.startDay == startDay;
});
console.log(data);
Run Code Online (Sandbox Code Playgroud)
另一种方法是使用arrow
函数.
let data = [ { "startDay": "05-06", "endDay": "05-06", "startTime": "xxxx", "eventType": "craft" }, { "startDay": "05-05", "endDay": "05-06", "startTime": "1400", "eventType": "art" }, { "startDay": "05-08","endDay": "05-08", "startTime": "1100", "eventType": "music" }, { "startDay": "05-08","endDay": "05-08", "startTime": "1400", "eventType": "fishing" }, { "startDay": "05-07","endDay": "05-08", "startTime": "1400", "eventType": "football" } ]
let startDayParam = "05-08";
data = data.filter(({startDay}) => startDay == startDayParam);
console.log(data);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
53 次 |
最近记录: |