Jump to content

Filtrar dados


Tobias123

Recommended Posts

Boas, estou completamente bloqueado neste exercício e não consigo mesmo pensar em nada, espero que me consigam ajudar

<Hacking Task #3>

One of your accomplices was able to physically steal a hard drive from one of fSociety's targets, however the victim had safeguards in place and was able to corrupt the data on the disk.

 

Now back in the arcade you have been tasked with recovering the jumbled data, which is central to fSociety's next big play.

 

You can leave the data on the disk as it is , but you should be able to copy it to a new hard drive, and be able to print it.

 

Instructions

 

Copy the uncorrupted data in the array stored in targetDisk to the empty array newDisk (corrupted data looks like this: ø). Then print the contents of the disk to the terminal as a string.

To complete this task remember the arrays' methods we have learned so far.

 

e depois tenho o seguinte código 

 

var targetDisk = [ 'E', 'ø', '-', 'C', 'ø', 'o', 'r', 'ø', 'ø', 'p', '\'', 'ø', 's', ' ', 'E', 'v', 'ø', 'i', 'ø', 'ø', 'l'];
var newDisk = [];
var corruptionSymbol = 'ø';

 

alguem consegue dar uma ajuda ?

Agora, Tobias123 disse:

Boas, estou completamente bloqueado neste exercício e não consigo mesmo pensar em nada, espero que me consigam ajudar

<Hacking Task #3>

One of your accomplices was able to physically steal a hard drive from one of fSociety's targets, however the victim had safeguards in place and was able to corrupt the data on the disk.

 

Now back in the arcade you have been tasked with recovering the jumbled data, which is central to fSociety's next big play.

 

You can leave the data on the disk as it is , but you should be able to copy it to a new hard drive, and be able to print it.

 

Instructions

 

Copy the uncorrupted data in the array stored in targetDisk to the empty array newDisk (corrupted data looks like this: ø). Then print the contents of the disk to the terminal as a string.

To complete this task remember the arrays' methods we have learned so far.

 

e depois tenho o seguinte código 

 

var targetDisk = [ 'E', 'ø', '-', 'C', 'ø', 'o', 'r', 'ø', 'ø', 'p', '\'', 'ø', 's', ' ', 'E', 'v', 'ø', 'i', 'ø', 'ø', 'l'];
var newDisk = [];
var corruptionSymbol = 'ø';

 

alguem consegue dar uma ajuda ?

 

Link to comment
Share on other sites

Traduzido para português fica assim:

1 - Pegar nos caracteres de targetDisk diferentes de corruptionSymbol e acrescentá-los em newDisk.

2 - Pegar no array newDisk e criar uma string com os caracteres do array

3 - Imprimir a string no ecran.

Começa por fazer o programa da parte 1.

Edited by Zex
Link to comment
Share on other sites

Boa noite a todos!

Estou com o mesmo problema.

Sou o mais noob que podem imaginar. Se me puderem ajudar agradeço.

 

Se fizer como o Zex disse, seria fácil demais, ou então não entendi bem. Se for isso, eles não aceitam, porque temos que usar os conhecimentos anteriores.

var targetDisk = [ 'E', 'ø', '-', 'C', 'ø', 'o', 'r', 'ø', 'ø', 'p', '\'', 'ø', 's', ' ', 'E', 'v', 'ø', 'i', 'ø', 'ø', 'l'];
var newDisk = [ 'E',  '_', 'C', 'o', 'r', 'p', '\'', 's', ' ', 'E', 'v', 'i', 'l'];
var corruptionSymbol = 'ø';

newDisk = ('E_Corp\s Evil');

console.log(newDisk);

Output:

>>>>Code is incorrect

Your code is not up to fSociety standards, keep trying to improve it

 

E_Corps Evil

 

 

Se fizer o código que o jsWizard sugeriu, dá um output de código errado. Possivelmente porque ainda não chegámos ao "filter" e ao "return value". Ou só estou a dizer asneira...

<var targetDisk = [ 'E', 'ø', '-', 'C', 'ø', 'o', 'r', 'ø', 'ø', 'p', '\'', 'ø', 's', ' ', 'E', 'v', 'ø', 'i', 'ø', 'ø', 'l'];
var newDisk = [ 'E',  '_', 'C', 'o', 'r', 'p', '\'', 's', ' ', 'E', 'v', 'i', 'l'];
var corruptionSymbol = 'ø';

newDisk = targetDisk.filter(function(value)
{return value !== corruptionSymbol; });alert(newDisk.join(' '));
console.log(newDisk);>

O output é:

>>>>Code is incorrect

Your code is not up to fSociety standards, keep trying to improve it

alert is not defined

Bem, vou fazer um turno de 26 horas e já volto.

Obrigado!

Edited by PaulomCapelo
Alerta
Link to comment
Share on other sites

12 horas atrás, PaulomCapelo disse:

 

var targetDisk = [ 'E', 'ø', '-', 'C', 'ø', 'o', 'r', 'ø', 'ø', 'p', '\'', 'ø', 's', ' ', 'E', 'v', 'ø', 'i', 'ø', 'ø', 'l'];
var newDisk = [ 'E',  '_', 'C', 'o', 'r', 'p', '\'', 's', ' ', 'E', 'v', 'i', 'l'];

 

Isto é para funcionar com quaisquer dados.

Por isso, o array newDisk tem que ser preenchido a partir do targetDisk com um ciclo FOR testando SE os caracteres são diferentes do corruptionSymbol .

Link to comment
Share on other sites

O código do @jsWizard faz o esperado da maneira mais limpa e atual

O alert is not defined penso que seja a base do erro, pelo menos nessa mensagem, não é filter nem o return

Em principio resolve se trocares a linha alert(newDisk.join('')); por console.log(newDisk.join(''));

E removes o teu console.log(newDisk); porque aí estas a imprimir o array e não a string como é pedido no desafio.

Se não resolver, tens que dizer que métodos de trabalhar arrays aprendeste.

Feito é melhor que perfeito

Link to comment
Share on other sites

19 horas atrás, Ivo Vicente disse:

Isso quer dizer que percebeste o erro, o assunto está fechado?

Estava a responder ao moderador que me chamou à atenção por não ter inserido o código na mensagem de forma correcta.

De qualquer das formas, sim, este exercício está encerrado. Fiz um loop como me foi indicado e usei apenas métodos de trabalhar arrays que aprendi até agora.

O output foi:

>>>>Code is correct

Task Completed

E-Corp's Evil


Muito obrigado a todos os que ajudaram!

Link to comment
Share on other sites

@PaulomCapelo

se isto foi uma tentativa de resolver o problema:

newDisk = ('E_Corp\s Evil');

então dedica-te à pesca porque para programador não tens cabeça 😄 😄

 

Em relação ao código que eu coloquei:

newDisk = targetDisk.filter(function(value){ return value !== corruptionSymbol; });
alert(newDisk.join(''));

não era suposto fazeres copy-paste do código e siga..

o que eu esperava era que fosses explorar a documentação dos métodos .filter e .join .. aprendesses algo.. e depois sim fazias o copy-paste com a adaptação necessária..

tu não viste que o erro era do alert ? achas que eu sabia que não era um simples alert que querias e que querias um console.log ?

para terminar.. se queres ser programador, tens de explorar o código.. entender/aprender.. não é com copy-paste às cegas que chegas lá  (se é que chegas).

 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join

 

  • Vote 1
Link to comment
Share on other sites

15 horas atrás, jsWizard disse:

@PaulomCapelo

se isto foi uma tentativa de resolver o problema:

newDisk = ('E_Corp\s Evil');

então dedica-te à pesca porque para programador não tens cabeça 😄 😄

 

Em relação ao código que eu coloquei:

newDisk = targetDisk.filter(function(value){ return value !== corruptionSymbol; });
alert(newDisk.join(''));

não era suposto fazeres copy-paste do código e siga..

o que eu esperava era que fosses explorar a documentação dos métodos .filter e .join .. aprendesses algo.. e depois sim fazias o copy-paste com a adaptação necessária..

tu não viste que o erro era do alert ? achas que eu sabia que não era um simples alert que querias e que querias um console.log ?

para terminar.. se queres ser programador, tens de explorar o código.. entender/aprender.. não é com copy-paste às cegas que chegas lá  (se é que chegas).

 

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/filter

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join

 

Boas @jsWizard,

Gostei do comentário. É assim que se incentiva quem está a prender. (Não estou a ser irónico).
Estou nisto há cerca de dois meses, mas como trabalho 13 horas/dia por dois dias e folgo outros dois, pode-se dizer que é um mês.

Nunca tinha visto código na minha vida.

Não sei se te lembras quando tinhas um mês de aprendizagem de código.

Quando chego a casa, após 13h de trabalho a atender pessoas, não tenho cabeça para isto, como deves calcular.

O meu código não foi copy/paste, nem podia ser. Ainda não me foram dadas a conhecer funções que tinhas no teu código, por isso tive que pesquisar e puxar pela cabeça, para ver onde estava o erro e consegui.

Posso não vir a ser o melhor, mas vou conseguir!

O meu código foi este:
 

var targetDisk = [ 'E', 'ø', '-', 'C', 'ø', 'o', 'r', 'ø', 'ø', 'p', '\'', 'ø', 's', ' ', 'E', 'v', 'ø', 'i', 'ø', 'ø', 'l'];
var newDisk = [ 'E',  '-', 'C', 'o', 'r', 'p', '\'', 's', ' ', 'E', 'v', 'i', 'l'];

var corruptionSymbol = 'ø';

for(var i = 21; i < targetDisk.length; i++) {newDisk.push (targetDisk[i]);}

var i = newDisk.join('');
console.log(i);

Continua a dar-me na cabeça, que eu agradeço...porque vou voltar de certeza 😁

 

Para ti, um bem haja.

Link to comment
Share on other sites

@Ivo Vicente muito obrigado pela explicação!

Entendi perfeitamente o que disseste.

O meu código resultou para este teste simples e porque foi fácil contar, mas de facto seria impraticável para um projeto mais complexo/sério.

Não fiz "batota" a pensar que estava a fazer. Simplesmente foi a solução que encontrei.

Testei o teu código, não que duvidasse, mas para praticar mais um pouco.

Até me admiro como é que deixaram passar o meu código, porque qualquer pormenor tem sido barrado com ">>>>Code is incorrect". O que acho bem!

Link to comment
Share on other sites

On 7/21/2022 at 2:13 AM, PaulomCapelo said:

Posso não vir a ser o melhor, mas vou conseguir!

esta é a atitude certa! já é um bom começo 😉

"ser o melhor" é algo que não existe.. ser paciente, persistente, dedicado, ter uma mente curiosa.. isto são coisas que com o tempo te podem levar a ser bom! boa sorte!

On 7/21/2022 at 2:13 AM, PaulomCapelo said:

Não sei se te lembras quando tinhas um mês de aprendizagem de código.

lembro.. foi há cerca de 27 anos 😄 pascal num ecrã azul e javascript no notepad 😄 😄  (sem contar com o Basic que fazia no Spectrum 128k.. isso já foi em 1987/88..)

ou seja.. estou a ficar velho 😄 😄 😄

Link to comment
Share on other sites

  • 2 weeks later...
Em 25/07/2022 às 11:31, jsWizard disse:

esta é a atitude certa! já é um bom começo 😉

"ser o melhor" é algo que não existe.. ser paciente, persistente, dedicado, ter uma mente curiosa.. isto são coisas que com o tempo te podem levar a ser bom! boa sorte!

lembro.. foi há cerca de 27 anos 😄 pascal num ecrã azul e javascript no notepad 😄 😄  (sem contar com o Basic que fazia no Spectrum 128k.. isso já foi em 1987/88..)

ou seja.. estou a ficar velho 😄 😄 😄

Obrigado @jsWizard,

Posso dizer-te que, apesar de estar a responder só agora (de propósito para poder dar esta notícia), contribuíste bastante com as tuas palavras, para eu alcançar o meu primeiro objectivo.

Passei todos os exercícios que me vão levar ao workshop. Vamos ver como corre.

Quanto a estares a ficar velho, esquece isso. A velhice está na mente. Um dia vamos morrer, mas podemos morrer novos, com 90 anos ou mais 😉👍

 

Obrigado a todos!

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.