diff --git a/README.md b/README.md index 1ac43f289..e21ec0025 100644 --- a/README.md +++ b/README.md @@ -83,10 +83,10 @@ var capitalize = str => str.slice(0, 1).toUpperCase() + str.slice(1); ### Count occurrences of a value in array -Use `filter()` to create an array containing only the items with the specified value, count them using `length`. +Use `reduce()` to increment a counter each time you encounter the specific value inside the array. ```js -var countOccurrences = (arr, value) => arr.filter(v => v === value).length; +var countOccurrences = (arr, value) => arr.reduce((a, v) => v===value ? a + 1 : a + 0, 0); ``` ### Current URL diff --git a/snippets/count-occurrences-of-a-value-in-array.md b/snippets/count-occurrences-of-a-value-in-array.md index f9e3f8f82..786458f7a 100644 --- a/snippets/count-occurrences-of-a-value-in-array.md +++ b/snippets/count-occurrences-of-a-value-in-array.md @@ -1,12 +1,6 @@ ### Count occurrences of a value in array -Use `filter()` to create an array containing only the items with the specified value, count them using `length`. - -```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(). +Use `reduce()` to increment a counter each time you encounter the specific value inside the array. ```js var countOccurrences = (arr, value) => arr.reduce((a, v) => v===value ? a + 1 : a + 0, 0);