2
respostas

Como concatenar somente os valores pares de 2 array em outro array?

<html>
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <script>
            function getNum(){
                var n1 = [];
                for(var i = 0; i<5; i++){
                    n1.push(Math.round(Math.random()*100));         
                }
                console.log("Valores gerados",n1);
            }
            function concatenar(){
            //concatenar apenas os valores pares do vet0 e vet1
            //e retonar no console em um  3 array
            }
            var vet0 = [getNum()];
            var vet1 = [getNum()];
            console.log(concatenar("Vetor contatenado"));
        </script>
    </body>
</html>
2 respostas

Bom dia, Marco! Como vai?

A solução mais intuitiva é iterar por cada um dos arrays pegando os elementos das posições pares e adicionando no 3º array que conterá os itens desejados.

Pegou a ideia? Qualquer coisa é só falar!

Grande abraço e bons estudos, meu aluno!

Opa gabriel então na verdade quero testar quais valores do array são pares e os que forem depois concateno em outro array . Sobre a parte de separar os que são pares eu consegui resolver , porem agora não consigo concatenar os arrays em 1 só, esse codigo abaixo ele me responde com 1 array que tem 2 array dentro. Ex: supondo que o array já filtrado pela função estive-se com os valores vet0 =[4,8,10]; e a vet1=[4,2]; Quando eu mando o cancat ele me retorna array = [0: 4, 8, 10] array = [1: 4, 2] Quero o retorno array = [0: 4,8,10,1,4,2]

Desde já agradeço pela atenção

<html>
    <head>
        <meta charset="UTF-8">
    </head>
    <body>
        <script>
            function getNum(){
                var n1 = [];
                for(var i = 0; i<5; i++){
                    n1.push(Math.round(Math.random()*100));        
                }
                console.log("gerou os valores",n1);
                return n1;
            }
            function filtrar(item, index){
                var par1;
                for(i=0;i<5;i++){
                    par1 = item[i];       
                    if(par1%2==0){
                        console.log("par", par1);
                    }else{
                        item.splice(i);
                    }
                } 
            }
            var vet0 = [getNum()];
            var vet1 = [getNum()];  
            vet0.forEach(filtrar);
            vet1.forEach(filtrar);
            var resp = vet0.concat(vet1);
            console.log("Arrays Concatenados",resp);
        </script>
    </body>
</html>