【发布时间】:2021-12-28 13:39:18
【问题描述】:
我喜欢根据传递的值过滤对象数组并返回修改后的数组。
例如:
let jsonData = [
{
"id": "300",
"name": "item1",
"showtimes": ["December 28, 2021", "December 30, 2021"]
},
{
"id": "223",
"name": "item2",
"showtimes": ["January, 4 2022"]
},
{
"id": "888",
"name": "item3",
"showtimes": ["December 28, 2021", "December 25, 2021", "December 29, 2021"]
},
]
我很想在“2021 年 12 月 28 日”过后得到这个修改后的数组:
[
{
"id": "300",
"name": "item1",
"showtimes": ["December 28, 2021", "December 30, 2021"]
}, {
"id": "888",
"name": "item3",
"showtimes": ["December 28, 2021", "December 25, 2021", "December 29, 2021"]
},
]
这是我目前拥有的,但没有给出所需的数组:
const result = jsonData.map((x) => {
return x.showtimes.filter(y => y === 'December 28, 2021');
})
【问题讨论】:
-
使用
Array.filter参见MDN -
@tromgy 我试过了,但它只返回日期而不是修改后的数组。你能检查一下编辑过的问题,看看我做得对吗
-
jsonData.filter((x) => { return x.showtimes.includes( 'December 28, 2021'); })
标签: javascript arrays filter