[英]How filter nested array of objects by date
我有一個這樣的數組:
const data = [
{
id: '3499934913',
user_data: {
user_data_stays: [
{
value: '30.0',
date: '2021-10-01T12:55:00.000Z',
},
{
value: '30.0',
date: '2021-11-01T12:55:00.000Z',
},
{
value: '30.0',
date: '2021-13-01T12:55:00.000Z',
}
],
}
},
{
id: '43534535',
user_data: {
user_data_stays: [
{
value: '30.0',
date: '2021-11-01T12:55:00.000Z',
},
{
value: '30.0',
date: '2021-12-01T12:55:00.000Z',
},
{
value: '30.0',
date: '2021-13-01T12:55:00.000Z',
}
],
}
},
]
如何保留整個數組的結構,但僅在user_data_stays
中過濾那些日期等於2021-10-01T12:55:00.000Z
的對象?
我嘗試使用過濾器和一些但我無法進入內部的嵌套元素。 我認為問題是嵌套的數量,我無法處理。 我將不勝感激你的幫助。
您可以在外部數組上使用 forEach 並在解構的幫助下對內部數組運行 filter 方法,object 引用將就地更新外部 object。
const data = [ { id: "3499934913", user_data: { user_data_stays: [ { value: "30.0", date: "2021-10-01T12:55:00.000Z" }, { value: "30.0", date: "2021-11-01T12:55:00.000Z" }, { value: "30.0", date: "2021-13-01T12:55:00.000Z" }, ], }, }, { id: "43534535", user_data: { user_data_stays: [ { value: "30.0", date: "2021-11-01T12:55:00.000Z" }, { value: "30.0", date: "2021-12-01T12:55:00.000Z" }, { value: "30.0", date: "2021-13-01T12:55:00.000Z" }, ], }, }, ]; data.forEach(({ user_data }) => { user_data.user_data_stays = user_data.user_data_stays.filter(({ date }) => date === '2021-10-01T12:55:00.000Z'); }); console.log(data);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.