Oi, Franklin, tudo bem?
Desculpe a demora em te responder!
Muito obrigado por compartilhar sua solução aqui na comunidade do fórum, sempre é importante trocar conhecimentos e experiências para aprimorar nossos projetos e habilidades.
Em relação à sua solução, de fato, ela funciona utilizando a função draw do p5.js, o que pode consumir mais recursos de memória em comparação com uma solução que não utilize esta função. No entanto, é importante lembrar que o consumo de memória depende também do tamanho dos dados que estão sendo manipulados e da quantidade de operações que estão sendo realizadas.
Outra alternativa, seria usar a propriedade array.map()
que irá criar uma cópia da lista no interior da função,fazendo com que não seja necessário criar outras variáveis contendo listas no escopo global do código, e apresentar os resultados diretamente no console do p5, removendo a função draw, para minimizar o consumo de memória.
Podermos usar a propriedade array.map()
no interior da função por meio do seguinte comando:
let idadesValue = idades.map(x => x);
Podemos ler esse comando da seguinte maneira: a lista idades
, composta pelas idades da Stefany e dos seus amigos, vai receber através do ponto uma propriedade de nome map
que tem como parâmetro o valor identidade (x => x)
. O valor "x" representa cada um dos elementos da lista e a seta, que pode ser aplicada no editor de código - fonte como o sinal de igual (=) seguido do sinal de maior (>) indica que cada valor da lista será espelhado nele mesmo, ou seja, a partir da lista será feita uma cópia da lista no interior da função.
Desse modo, conseguimos obter os valores esperados para cada uma das funções.
O código completo para conseguir realizar a solução do problema no código da Stefany está abaixo:
const idadeStefany = 21;
const idadesAmigos = [idadeStefany, 20, 23, 18, 7];
function setup() {
createCanvas(400, 400);
}
function calculaProximaIdade(idade) {
idade += 1;
console.log("Próxima idade Stefany:" + idade);
}
function calculaProximasIdades(idades) {
let idadesValue = idades.map(x => x);
for (let i = 0; i < idadesValue.length; i += 1) {
idadesValue[i] += 1;
}
console.log("Nossas idades daqui 1 ano:" +idadesValue)
}
function calculaIdadesDaqui5Anos(idades) {
let idadesValue = idades.map(x => x);
for (let i = 0; i < idadesValue.length; i += 1) {
idadesValue[i] += 5;
}
console.log("Nossas idades daqui 5 ano:" + idadesValue)
}
calculaProximaIdade(idadeStefany);
calculaProximasIdades(idadesAmigos);
calculaIdadesDaqui5Anos(idadesAmigos);
Caso queira se aprofundar mais no uso da propriedade .map
deixo a documentação abaixo:
Espero ter ajudado. Caso tenha dúvidas, estarei à disposição.
Abraços e bons estudos!
Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓. Bons Estudos!