Jump to content

Imprimir todas as personagens com nome começado por 'M' utilizando loop e startsWith


tscarq
Go to solution Solved by Zex,

Recommended Posts

Boa noite,

Estou a fazer um exercício onde tenho arrays dentro de um array com nomes de personagens de filmes. A ideia é através de loop e de startsWith imprimir todas as personagens começadas por 'M'.

O código que tenho está de facto a imprimir apenas os nomes de personagens começados por 'M' no entanto dá código incorrecto. O código está a ser corrigido por um computador e poderá ser por isso.  Alguém me consegue ajudar a perceber porquê? desde já agradeço. 

var filmCharacters = [
            ['Vito', 'Michael', 'Sonny', 'Freddo'],
            ['Mia', 'Vincent', 'Jules', 'Butch'],
            ['Bella', 'Edward', 'Jacob', 'Carlisle'],
            ['James', 'M', 'Moneypenny', 'Felix']
];

var filmCharactersM = [];

for(var i = 0; i < filmCharacters.length; i++) {
    
    for(var j = 0; j < filmCharacters[i].length; j++) {
        
        if(filmCharacters[i][j].startsWith('M')) filmCharactersM.push(filmCharacters[i][j]); 
        
}
}
console.log(filmCharactersM.join(', '));

já tentei colocar no console.log apenas filmCharactersM e continua a dar código incorrecto. 

Link to comment
Share on other sites

  • 2 months later...

Boas!

Exatamente o mesmo Exercício:

var filmCharacters = [
            ['Vito', 'Michael', 'Sonny', 'Freddo'],
            ['Mia', 'Vincent', 'Jules', 'Butch'],
            ['Bella', 'Edward', 'Jacob', 'Carlisle'],
            ['James', 'M', 'Moneypenny', 'Felix']
    ];
for (var i=0; i<filmCharacters.length; i++) {
   for (var j=0; j<filmCharacters[i].length; j++) {
     if (filmCharacters[i][j].startsWith('M')) console.log(filmCharacters[i][j]);

}
}

Continua a dar o erro:

">>>>Code is incorrect

Make sure not to miss any names and print each one separately.

Michael

Mia

M

Moneypenny"

Alguém consegue ajudar?

Link to comment
Share on other sites

I already know it.

var filmCharacters = [
            ['Vito', 'Michael', 'Sonny', 'Freddo'],
            ['Mia', 'Vincent', 'Jules', 'Butch'],
            ['Bella', 'Edward', 'Jacob', 'Carlisle'],
            ['James', 'M', 'Moneypenny', 'Felix']
    ];
console.log(filmCharacters[0][1]);
console.log(filmCharacters[1][0]);
console.log(filmCharacters[3][1]);
console.log(filmCharacters[3][2]);
Link to comment
Share on other sites

  • 7 months later...
Em 20/08/2021 às 22:57, tscarq disse:

O meu erro estava a ser puxar os nomes começados por M para outro array. Em vez de utilizar o push era só imprimir e assim já imprimia os elementos como referiu.

 

Obrigada pela ajuda Zex 🙂

Estou no mesmo exercicio e tenho o mesmo erro e nao estou a conseguir perceber o erro

o código está:

var filmCharacters = [
            ['Vito', 'Michael', 'Sonny', 'Freddo'],
            ['Mia', 'Vincent', 'Jules', 'Butch'],
            ['Bella', 'Edward', 'Jacob', 'Carlisle'],
            ['James', 'M', 'Moneypenny', 'Felix']
];

var filmCharactersM=[];
for (var i = 0; i<filmCharacters.length; i++){
    for(var j=0; j<filmCharacters[i].length; j++) {
        
        if(filmCharacters[i][j].startsWith('M'));
    }
    
}
console.log(filmCharactersM);

o output retorna so []

Podem ajudar?

Link to comment
Share on other sites

Aguem me sabe dizer o que me falta ?

 

var filmCharacters = [
            ['Vito', 'Michael', 'Sonny', 'Freddo'],
            ['Mia', 'Vincent', 'Jules', 'Butch'],
            ['Bella', 'Edward', 'Jacob', 'Carlisle'],
            ['James', 'M', 'Moneypenny', 'Felix']
];

var filmCharactersM=[];
for (var i = 0; i<filmCharacters.length; i++){
    for(var j=0; j<filmCharacters[i].length; j++) {
        
        if(filmCharacters[i][j].startsWith('M'))
            filmCharactersM.push(filmCharacters[i][j])
        
    }
    
}
console.log(filmCharactersM);

o output é este 

Output

>>>>Code is incorrect

unknown error

[

"Michael",

"Mia",

"M",

"Moneypenny"

]
Link to comment
Share on other sites

Usa a consola de Javascript do browser para fazeres debug.
Mete breakpoints nos locais criticos e avança passo a passo analisando o que o algoritmo está a fazer e o conteúdo das variáveis a cada momento.

10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Link to comment
Share on other sites

  • 2 months later...
23 horas atrás, joaoc95 disse:

Como ficou o código final? Same problem here

var filmCharacters = [
            ['Vito', 'Michael', 'Sonny', 'Freddo'],
            ['Mia', 'Vincent', 'Jules', 'Butch'],
            ['Bella', 'Edward', 'Jacob', 'Carlisle'],
            ['James', 'M', 'Moneypenny', 'Felix']
];
for (var i=0;i<filmCharacters.length;i++){
    for (var j = 0; j < filmCharacters [i].length; j++ ){
        if (filmCharacters [i][j].startsWith ('M')){
          
            console.log(filmCharacters [i] [j]);
        }
            
        }   
}
  • 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.