Hi!
I´m stuck on this:
Write a function named getValidPassword that takes a two dimensional array as parameter.
Each entry in the first array represents a passcode. You need to find the passcode that has no odd digits and returns that passcode from your function.
Here’s an example:
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]
Tried this way, but error message shows: >>>>Code is incorrect Function getValidPassword is not working as requested." [2,6,0,8].
Code:Copy to clipboard
`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) + ('') + ']');`
Also so this:
Code:Copy to clipboard
function getValidPassword(loggedPasscodes) {
return loggedPasscodes.filter(passcode => passcode.every(n => n % 2 === 0));
};
let loggedPasscodes =[
[1, 4, 4, 1],
[1, 2, 3, 1],
[2, 6, 0, 8],
[5, 5, 5, 5],
[10, 2, 4, 42],
[4, 3, 4, 3]
];
console.log(getValidPassword(loggedPasscodes));
and
Code:Copy to clipboard
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]
also
function getValidPassword(loggedPasscodes) {
return loggedPasscodes.find(passcode => passcode.every(n => n % 2 === 0));
};
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]
But none of the above are working. Can you please help me, I´m almost finnished all the exercices.
Can you please help?
Ok approach try to find element where passcode that has no odd digits. so your approach with nested loop could work. You must to be sure all digits are even - so what does it mean. Put a counter after in