我經常使用Array.prototype.filter
,我只希望有一個單獨的元素是真的。高效地訪問Array.prorotype.filter單項返回
由於過濾器返回結果的數組,我覺得自己需要經常訪問的元素,所以我做了什麼樣
knownRefundLogics.filter((refundLogic) => this.hasTag(refundLogic.underscoredName))[0]
假設:
knownRefundLogics = [{
"underscoredName": "express_full_refund",
"camelized": "expressFullRefund"
}, {
"underscoredName": "express_partial_refund",
"camelized": "expressPartialRefund"
}, {
"underscoredName": "express_no_refund",
"camelized": "expressNoRefund"
}]
和hasTag()
,做的方法在refundLogic
元素的陣列上的includes()
。
有沒有一個更合適的方法來做到這一點,例如使用傳播運算符?
順便說一句,我知道我可能會分裂我的方法,只有一個true
或false
值返回的方式,但我發現這是一個過度工程的解決方案。
'Array.prototype.some()','Array.prototype.every()' – Andreas
,可以用[Array.prototype.reduce()](HTTPS://顯影劑.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce),保證返回單個值 – Flying
,但是您會推薦reduce()來過濾/檢查值的真實性嗎? –