Exercise - find a passcode using dimensional arrays and function

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?

Activitie Zero here :slight_smile: 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 if(getPassword[i][j] % 2 === 0){ counter ++ ; if(counter == getPassword[i] return i; and break out of a loops)]); and in endreturn loggedPasscodes[i] I gave you direction maybe for you will be easier instead of i use another variable to save