Jump to content

Exercício extractPassword


jmcp

Recommended Posts

Olá tenho um exercício para resolver e não consigo perceber o que está a faltar. O output parece estár correto mas não me deixa avançar / errado.

Citação

 

Create a function named extractPassword which takes an array of characters (which includes some trash characters) and returns a string with only valid characters (a - z, A - Z, 0 - 9).

Here's an example:

extractPassword(['a', '-', '~', '1', 'a', '/']); // should return the string 'a1a'

extractPassword(['~', 'A', '7', '/', 'C']); // should return the string 'A7C'

 

 

O meu código:

var password = (["a","-","~","1","a","/","~","A","7","/","C"]);
var newPass =[];
var arrayLength = password.length;

function extractPassword(password){
    for (var i=0;i<arrayLength;i++){
    var j = password[i];
    if (("a"<= j && j<="z") || ("A"<=j && j<="Z") || ("0"<=j && j<="9")){
      newPass.push(j);  
    }
    } return newPass;
}
extractPassword(password);
console.log(newPass.join(""));

 

OUTPUT:

>>>>Code is incorrect

Your function is not returning the correct value

a1aA7C

O que está a falhar? O output parece estar correto. Alguém consegue ajudar?

Obrigado!

Link to comment
Share on other sites

3 minutes ago, jsWizard said:

Sim é o mesmo obrigado! Parece igual mas pelo que percebi há algo que tenho de alterar. Não percebi “deves retornar uma string e não o array newPass” penso que já fiz essas alterações e não aceitou na mesma.

Link to comment
Share on other sites

  • 10 months later...

Boa tarde, 

estou preso neste exercício a 3 dias e não consigo resolver nem com as dicas aqui utilizadas.

Alguém consegue ajudar-me ???

var password = (["a","-","~","1","a","/","~","A","7","/","C"]);

var newpassword = []
var arrayLength= password.length;

function extractPassword(password){

       for(var i = 0; i < arrayLength; i++ ){
           var j = password[i];
           
        if(  ('a' <= j && j <= 'z')
          || ('A' <= j && j <= 'Z')
          || ('0' <= j && j <= '9')){
            newpassword.push(j);
        }
    }
        return newpassword.join("");
   
}

console.log( extractPassword(['a','-','~','1','a','/','~','A','7','/','C']));

Output

>>>>Code is incorrect

Your function is not returning the correct value



a1aA7C
Link to comment
Share on other sites

Em 13/07/2023 às 16:14, Gil Rodrigues disse:

Boa tarde, 

estou preso neste exercício a 3 dias e não consigo resolver nem com as dicas aqui utilizadas.

Alguém consegue ajudar-me ???

Se a sua função for chamada várias vezes seguidas (bateria de testes), apenas o primeiro resultado fica correto.

console.log( extractPassword(['a','-','~','1','a','/','~','A','7','/','C']));

console.log( extractPassword(['1','2','3','4','5','6','7','8','9']));

console.log( extractPassword(['x','y','z','-','a','b','c']));

OUTPUT:

a1aA7C
a1aA7C123456789
a1aA7C123456789xyzabc

Portanto apostaria, que no primeiro caso passa, no segundo e seguintes não.

(é fácil de corrigir)

  • Vote 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.