[英]Find all matching ids in an array of objects
我們有兩個對象數組:
第一的:
const allUsers = [
{
id: 49,
name: 'William'
},
{
id: 82,
name: 'Michael'
},
]
第二:
const usersWithActivity = [
{
id: 49,
name: 'William',
last_activity: "2019-06-20T12:09:55.000Z"
},
{
id: 82,
name: 'Michael',
last_activity: "2020-02-20T11:08:50.000Z"
}
]
[題]:
如何返回過去 3 個月處於非活動狀態的所有用戶的數組? (威廉的)
你可以試試
function monthDiff(dateFrom, dateTo) {
return dateTo.getMonth() - dateFrom.getMonth() +
(12 * (dateTo.getFullYear() - dateFrom.getFullYear()))
}
const usersWithActivity = [
{
id: 49,
name: 'William',
last_activity: "2019-06-20T12:09:55.000Z"
},
{
id: 82,
name: 'Michael',
last_activity: "2020-02-20T11:08:50.000Z"
}
]
const res = usersWithActivity.filter(user => (monthDiff( new Date(user.last_activity),new Date()) > 3))
嘗試這個
const allUsers = [ { id: 49, name: 'William' }, { id: 82, name: 'Michael' }, ]; const usersWithActivity = [ { id: 49, name: 'William', last_activity: "2019-06-20T12:09:55.000Z" }, { id: 82, name: 'Michael', last_activity: "2020-02-20T11:08:50.000Z" } ]; function isInactiveSince(lastActivity, inactiveSince) { let la = new Date(lastActivity); let s = new Date().setMonth(inactiveSince) return la <= s } function play () { const all = []; usersWithActivity.map((ua, i) => { if(isInactiveSince(ua.last_activity, -3)) { const user = allUsers.find(u => u.id == ua.id) all.push(user); } }) console.log(all) } play()
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.