Utiliser reduce pour extraire un résultat d'un tableau JavaScript
Publié le 19/07/2020 • Actualisé le 19/07/2020
Dans ce bout de code, nous allons voir comment extraire un résultat d'un tableau JavaScript en utilisant la fonction reduce et un callback. Tout d'abord, on définit deux callbacks; ils vont nous permettre de tester si un article est un post ou un snippet. Ensuite, on utilise ces deux "réducteurs" comme premier paramètre de la fonction reduce. La valeur initiale est bien sûr de zéro puisqu'on fait une addition. Ouvrez votre console JavaScript pour vérifier les résultats.
/**
* J'utilise un module JavaScript afin d'isoler chaque snippet dans un fichier.
* C'est en fait un mixin Vue.js. Utilisez le code appelé par la fonction mounted()
* ou snippetXX().
*/
export default {
methods: {
snippet103 () {
const articles = [
{ label: 'Article 1', type: 1 },
{ label: 'Snippet 1', type: 2 },
{ label: 'Snippet 2', type: 2 }
]
const isPost = (accumulator, article) => accumulator + (article.type === 1 ? 1 : 0)
const isSnippet = (accumulator, article) => accumulator + (article.type === 2 ? 1 : 0)
console.log('The articles array contains ' + articles.reduce(isPost, 0) + ' post(s).')
console.log('The articles array contains ' + articles.reduce(isSnippet, 0) + ' snippets(s).')
}
},
mounted () {
if (this.isArticle(103)) {
this.snippet103()
}
}
}
Plus sur Stackoverflow Lire la doc Plus sur le web Snippet aléatoire
A vous de jouer !
Ces articles vous ont été utiles ? Vous pouvez m'aider à votre tour de plusieurs manières : (cliquez sur le lien "reply" dans à droite pour me contacter )
- Me remonter des erreurs ou typos.
- Me remonter des choses qui pourraient être améliorées.
- Aimez et repostez !
- Suivez moi sur Bluesky 🦋
- Inscrivez-vous au flux RSS.
- Cliquez sur les boutons Plus sur Stackoverflow pour me faire gagner des badges "annonceur" 🏅.
Merci et à très bientôt sur Strangebuzz ! 😉