From 00ac4b38e3523a0ab2f28b8c2fa91f04ebbffce3 Mon Sep 17 00:00:00 2001 From: Thalis Kalfigkopoulos Date: Tue, 12 Dec 2017 10:26:01 +0100 Subject: [PATCH] Count occurrences of value in array with reduce Doesn't require creation of new array as with current solution. --- snippets/count-occurrences-of-a-value-in-array.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/snippets/count-occurrences-of-a-value-in-array.md b/snippets/count-occurrences-of-a-value-in-array.md index e7d532435..f9e3f8f82 100644 --- a/snippets/count-occurrences-of-a-value-in-array.md +++ b/snippets/count-occurrences-of-a-value-in-array.md @@ -5,3 +5,9 @@ Use `filter()` to create an array containing only the items with the specified v ```js var countOccurrences = (arr, value) => arr.filter(v => v === value).length; ``` + +Use reduce() to increment a counter each time you encounter the specific value; does not create new array like filter(). + +```js +var countOccurrences = (arr, value) => arr.reduce((a, v) => v===value ? a + 1 : a + 0, 0); +```