esta función devuelve la suma de todos los elementos de la matriz
const array = [4, 7, 24, 7, 0, 10]; const number = 7; function addTheSameNumbers1(number, array) { let count = array.length; for (let i = 0; i < count; i++) { if (array[i] === number) { return array.reduce((a,b) => a + b, 0); } } return null; } console.log(addTheSameNumbers1(number, array));```Tu reduce() está sumando todos los valores. Así es como sumar un solo número:
const array = [4, 7, 24, 7, 0, 10]; const number = 7; function addTheSameNumbers1(number, array) { return array.reduce((accum, val) => val === number ? accum + val : accum , 0); } const result = addTheSameNumbers1(number, array); console.log(result);Si lo entiendo correctamente, desea obtener la suma de los elementos que tienen valores que son iguales a la longitud de su matriz principal. Este código debería hacerlo.
const filterAndSum = (numbers, query) => { return numbers .filter((n) => n === query) .reduce((n, total) => total + n, 0); }; console.log(filterAndSum([1,2,3,4,5,4,3,2,1,2,3,2,1], 3))Primero, filtra los elementos que no son iguales a la longitud de la matriz principal y luego obtiene la suma de los elementos restantes. Tenga en cuenta que la validación no está implementada aquí, pero creo que podría hacerlo fácilmente.
Puede obtener el recuento de la ocurrencia de la variable y el múltiplo con el número
<script> const countOccurrences = (arr, val) => arr.reduce((a, v) => (v === val ? a + 1 : a), 0); const array = [4, 7, 24, 7, 0, 10]; const number = 7; var accur = countOccurrences(array, number); console.log(accur); console.log(accur * number); </script>