Olá
Estou na recta final do exercicios para o bootcamp, mas estou encalhada neste exercicio:
Escreva uma função chamada getValidPassword que recebe uma matriz bidimensional como parâmetro.
Cada entrada na primeira matriz representa uma senha. Você precisa encontrar a senha sem dígitos ímpares e retornar essa senha de sua função.
Aqui está um exemplo:var loggedPasscodes =[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[4, 3, 4, 3]
];
getValidPassword(loggedPasscodes) // returns the array: [2, 6, 0, 8]
Usei este código
var loggedPasscodes=[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[4, 3, 4, 3],
];
var getValidPassword = function(getPassword){
var passcode = [];
var cache = [];
for (var i = 0; i < getPassword.length; i++){
for (var j = 0; j < getPassword[i].length; j++){
if(getPassword[i][j] % 2 === 0){ cache.push(getPassword[i][j]);
}
else {break;
}
if(getPassword[i].length === cache.length){
passcode= cache.slice();
}
}
}
return passcode;
};
console.log('[' + getValidPassword(loggedPasscodes) + ('') + ']');
mas dá erro: >>>>Code is incorrect
Function getValidPassword is not working as requested.
[2,6,0,8]
este
function getValidPassword(loggedPasscodes) {
for (let i = 0; loggedPasscodes.length > i; i++) {
let passcode = loggedPasscodes[i];
let temImpar = false;
for (let j = 0; passcode.length > j; j++) {
if (passcode[j] % 2 !== 0) { // ímpar
temImpar = true;
// se encontrou um ímpar, sai do loop (não precisa verificar os demais números)
break;
}
}
if (! temImpar) {
return passcode; // não tem ímpar, pode retornar direto
}
}
};
let loggedPasscodes =[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[4, 3, 4, 3]
];
console.log(getValidPassword(loggedPasscodes)); // [2, 6, 0, 8]
Mas nenhum funciona, sei que este exercicio já debatido por aqui, mas não encontrei uma solução.
Alguém pode ajudar por favor? Estou mesmo quase no fim.
Obrigada