Parece que no puedo resolver esto en absoluto, puedo usar console.log (i) y obtener el retorno, pero no puedo averiguar cómo regresar como una matriz.
Toma un número, max y devuelve una matriz que contiene todos los números de 0 a max (no inclusive) que son divisibles por 3 o 5, pero no por ambos
function fizzBuzz(max) { let arr = []; for(let i = 0; i < max; i++){ if(i % 3 === 0 && i % 7 !== 0){ arr = arr.concat(i); } else if(i % 3 !== 0 && i % 7 === 0){ arr = arr.concat(i); } return arr; }; fizzBuzz(20);Usar Array.prototype.push (que se usa para agregar un elemento a una matriz) en lugar de Array.prototype.concat (que se usa para fusionar una matriz con otra matriz) es mucho más simple aquí. También puede usar el operador XOR ( ^ ) en lugar de escribir dos declaraciones if :
function fizzBuzz(max) { let arr = []; for (let i = 0; i < max; i++) { if (i % 3 === 0 ^ i % 5 === 0) { arr.push(i); } } return arr; } console.log(fizzBuzz(20));Algunas cosas están mal en su código, debe usar array.push en lugar de concat y le faltaba un } al final.
Este código debería hacer lo que necesita :) produce una matriz entre 0 y max inclusive y produce una matriz de números que son divisibles por 3 o 5 pero no por ambos
function fizzBuzz(max) { let arr = []; for(let i = 0; i <= max; i++){ if((!(i % 3) && !(i % 5))) continue; if(!(i % 3) || !(i % 5)){ arr.push(i); } } return arr; }; console.log(fizzBuzz(20));