Parece que no puedo resolver este problema,
Devuelve una matriz que contiene todos los índices que son potencias de 2
Lo que tengo a continuación hasta ahora, sé que módulo es probablemente el funcionamiento incorrecto, pero estaba tratando de hacerlo funcionar. No estoy seguro de qué más probar aquí.
function secondPower(arr) { let newarr = []; for(let i = 0; i < arr.length; i++){ if(arr[i] / (2 ** i) === 1){ newarr.push(i); } } return newarr; } [1, 2, 4, 5, 7, 16]Puede usar Math.log2 para verificar si el número es una potencia de 2 y Array.every para verificar si todos los elementos de la matriz coinciden con una condición:
function isPowerOf2(x) { return Math.log2(x) % 1 === 0; } const arr = [1, 2, 4, 5, 7, 16] const arr2 = [2, 4, 8] function isArrAllPowerOf2(arr){ return arr.every(isPowerOf2) } console.log(isArrAllPowerOf2(arr)) console.log(isArrAllPowerOf2(arr2))