我有一個迭代器物件,我想獲得滿足測驗功能的第一個元素。
我知道Array.prototype.find如果我將迭代器轉換為陣列,我可以使用。例如使用[...ducks].find((duck) => duck.age >= 3)語法。
但我不想將迭代器轉換為陣列,因為它很浪費。在我的示例中,我有很多鴨子,我需要只經過幾次測驗就能找到的舊鴨子。
我想知道是否存在優雅的解決方案。
uj5u.com熱心網友回復:
沒有內置任何內容,但您可以輕松地為它撰寫一個函式,將其粘貼到您的實用程式工具包中,然后重用它:
function find(it, callback) {
for (const value of it) {
if (callback(value)) {
return value;
}
}
}
用法:
const duck = find(ducks, (duck) => duck.age >= 3);
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/446502.html
標籤:javascript 迭代器
上一篇:datetimepicker輸入自動填充當前日期并禁用當前日期之前的天數
下一篇:在從typescript編譯的代碼中匯入PrismaClient時出錯::export'PrismaClient'notfound
