我有一個物件陣列,我在其中檢查布爾屬性,我需要從物件陣列中獲取最后一個物件,這是真的,并且需要獲取 name 屬性。
這就是我所做的,有沒有更好的方法或簡單的方法來實作這一目標:
const a = [{is_done: true, name: 'a'}, {is_done: true, name: 'b'}, {is_done: false, name: 'c'}]
let output = a.filter(a => a.is_done).slice(-1)[0].name
console.log(output)
uj5u.com熱心網友回復:
您可以通過首先應用reverse然后使用findwhich 將回傳與您指定的條件相對應的第一個專案來實作這一點。
請注意,您可能希望將 reverse 方法應用于字串的副本而不是原始字串,因此最好使用[...a]下面評論的 hjrshng 。
const a = [{is_done: true, name: 'a'}, {is_done: true, name: 'b'}, {is_done: false, name: 'c'}]
const res = [...a].reverse().find(x => x.is_done);
console.log(res.name)
另請注意,在不久的將來,您將能夠使用findLast和findLastIndex其目前在階段3 - https://github.com/tc39/proposals
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/383232.html
標籤:javascript 数组 最后查找
上一篇:回圈遍歷陣列并將值增加到新陣列中
下一篇:執行緒主Java中的例外
