Soy nuevo en JavaScript y estoy tratando de crear una función que tome una matriz y devuelva una nueva matriz que contenga true para elementos duplicados en la matriz original y false de lo contrario. Aquí está el código que escribí:
count = function(arr, item) { let number = 0 arr.forEach(elem => { if (elem == item) { number++ } }) return number } findAllOccurrences = function(arr, target) { const duplicatesList = arr.filter(elem => { if (count(arr, elem) > 1) { return true } else { return false } }) return duplicatesList } console.log(findAllOccurrences([1, 2, 2, 3, 4, 2, 5, 4], 2))Pero me da valores duplicados en lugar de verdadero/falso.
[false, true, true, false, true, false, false, true] [ 2, 2, 4, 2, 4 ] Lo que quiero preguntar es, ¿cómo funciona la función arr.filter ?