J'utilise souvent Array.prototype.filter
et je m'attends seulement à ce qu'un seul élément soit véridique.Accéder efficacement aux retours d'un seul élément Array.prorotype.filter
Comme filtre retourne un tableau de résultats, je me trouve avoir besoin d'accéder à toujours cet élément, donc je fais quelque chose comme
knownRefundLogics.filter((refundLogic) => this.hasTag(refundLogic.underscoredName))[0]
suppose que:
knownRefundLogics = [{
"underscoredName": "express_full_refund",
"camelized": "expressFullRefund"
}, {
"underscoredName": "express_partial_refund",
"camelized": "expressPartialRefund"
}, {
"underscoredName": "express_no_refund",
"camelized": "expressNoRefund"
}]
et hasTag()
une méthode qui ne un includes()
sur un tableau pour l'élément refundLogic
.
Existe-t-il une méthode plus appropriée pour cela, en utilisant l'opérateur spread par exemple? Par ailleurs, je sais que je pourrais éventuellement scinder mes méthodes de telle sorte que seule une valeur true
ou false
soit retournée, mais je trouve que c'est un peu une solution trop complexe.
'Array.prototype.some()', 'Array.prototype.every()' – Andreas
Vous pouvez utiliser [Array.prototype.reduce()] (https: // développeur .mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/Reduce), il est garanti de retourner la valeur unique – Flying
mais recommanderiez-vous reduce() pour filtrer/vérifier la véracité des valeurs? –