Você está aqui: JavaScript ::: Dicas & Truques ::: Arrays e Matrix (Vetores e Matrizes) |
Como ordenar os elementos de uma matriz de inteiros em ordem crescente ou decrescente usando o método sort() do objeto ArrayQuantidade de visualizações: 10916 vezes |
Em algumas situações precisamos ordenar os elementos de uma matriz de inteiros em ordem crescente ou decrescente. Para isso podemos usar o método sort() do objeto Array. Veja:---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // vamos criar um array contendo cinco elementos var numeros = new Array(5, 3, 19, 21, 74); // vamos exibir os elementos na ordem original document.write('Elementos na ordem original:<br>'); for(var i = 0; i < numeros.length; i++){ document.write(numeros[i] + ' - '); } // vamos ordenar a matriz em ordem crescente numeros.sort(); // vamos exibir os elementos em ordem crescente document.write('<br><br>Elementos em ordem crescente:<br>'); for(var i = 0; i < numeros.length; i++){ document.write(numeros[i] + ' - '); } </script> </body> </html> Porém, ao executarmos este código teremos uma surpresa. O resultado será: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Elementos na ordem original: 5 - 3 - 19 - 21 - 74 - Elementos em ordem crescente: 19 - 21 - 3 - 5 - 74 - Isso aconteceu porque o método sort() sem nenhum argumento ordena a matriz em ordem crescente léxica, ou seja, levando em consideração o valor ASCII de cada caractere. Assim, o "1" em 19 faz com que este valor venha antes do 3 e do 5. Para contornar este problema só precisamos fornecer uma função personalizada à função sort(). Veja esta nova versão do código: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <script type="text/javascript"> // função personalizada usada no auxílio da ordenação de // matrizes com valores numéricos function comparar(a, b){ if(a < b) return -1; else if(a > b) return 1; else return 0; } // vamos criar um array contendo cinco elementos var numeros = new Array(5, 3, 19, 21, 74); // vamos exibir os elementos na ordem original document.write('Elementos na ordem original:<br>'); for(var i = 0; i < numeros.length; i++){ document.write(numeros[i] + ' - '); } // vamos ordenar a matriz em ordem crescente numeros.sort(comparar); // vamos exibir os elementos em ordem crescente document.write('<br><br>Elementos em ordem crescente:<br>'); for(var i = 0; i < numeros.length; i++){ document.write(numeros[i] + ' - '); } </script> Agora o resultado será: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Elementos na ordem original: 5 - 3 - 19 - 21 - 74 - Elementos em ordem crescente: 3 - 5 - 19 - 21 - 74 - A função auxiliar fornecida ao método sort() do objeto Array pode ser qualquer uma, desde que possua dois parâmetros e retorne -1 se o primeiro argumento for menor que o segundo, 1 se o primeiro argumento for maior que o segundo e 0 (zero) se os argumentos forem iguais. Assim, se quisermos ordenar em ordem decrescente, só precisamos alterar a forma como estas comparações são feitas. Veja: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- // função personalizada usada no auxílio da ordenação de // matrizes com valores numéricos function comparar(a, b){ if(a > b) return -1; else if(a < b) return 1; else return 0; } Agora o resultado será: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- Elementos na ordem original: 5 - 3 - 19 - 21 - 74 - Elementos em ordem crescente: 74 - 21 - 19 - 5 - 3 Esta dica foi escrita e testada no Internet Explorer 8 e Firefox 3.6. |
Link para compartilhar na Internet ou com seus amigos: |
JavaScript ::: Dicas & Truques ::: Rotinas de Conversão |
JavaScript para iniciantes - Como converter uma string em um valor numérico usando o método Number() do JavaScriptQuantidade de visualizações: 23701 vezes |
Algumas vezes nós precisamos converter um texto inserido pelo usuário em um valor numérico. Se sabemos que o valor é inteiro, podemos usar Number.parseInt(), enquanto, se soubermos que o valor inserido é um decimal, podemos usar Number.parseFlot(). No entanto, se estivermos na dúvida, pode usar somente a função Number(), pois ela tentará converter a string para um valor numérico (inteiro ou de ponto-flutuante) e, em caso de falha, retornará NaN (Not a Number, não é um número). Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> var valor = "95,23"; valor = Number(valor); document.write("O resultado da conversão é: " + valor); </script> </body> </html> Ao executar este código nós teremos o seguinte resultado: O resultado da conversão é: NaN Experimente trocar "95,23" por "95.23" e veja como a conversão de string para número ocorre sem problemas. |
JavaScript ::: JavaScript para Engenharia ::: Geometria Analítica e Álgebra Linear |
Como calcular a norma ou módulo de vetores nos espaços R2 e R3 usando JavaScript - Geometria Analítica e Álgebra Linear usando JavaScriptQuantidade de visualizações: 2298 vezes |
Em Geometria Analítica e Álgebra Linear, a magnitude, norma, comprimento, tamanho ou módulo (também chamado de intensidade na Física) de um vetor é o seu comprimento, que pode ser calculado por meio da distância de seu ponto final a partir da origem, no nosso caso (0,0). Considere o seguinte vetor no plano, ou seja, no espaço bidimensional, ou R2: \[\vec{v} = \left(7, 6\right)\] Aqui este vetor se inicia na origem (0, 0) e vai até as coordenadas (x = 7) e (y = 6). Veja sua plotagem no plano 2D: Note que na imagem já temos todas as informações que precisamos, ou seja, o tamanho desse vetor é 9 (arredondado) e ele faz um ângulo de 41º (graus) com o eixo x positivo. Em linguagem mais adequada da trigonometria, podemos dizer que a medida do cateto oposto é 6, a medida do cateto adjacente é 7 e a medida da hipotenusa (que já calculei para você) é 9. Note que já mostrei também o ângulo theta (__$\theta__$) entre a hipotenusa e o cateto adjacente, o que nos dá a inclinação da reta representada pelos pontos (0, 0) e (7, 6). Relembrando nossas aulas de trigonometria nos tempos do colegial, temos que o quadrado da hipotenusa é a soma dos quadrados dos catetos, ou seja, o Teorema de Pitágoras: \[a^2 = b^2 + c^2\] Como sabemos que a potenciação é o inverso da radiciação, podemos escrever essa fórmula da seguinte maneira: \[a = \sqrt{b^2 + c^2}\] Passando para os valores x e y que já temos: \[a = \sqrt{7^2 + 6^2}\] Podemos comprovar que o resultado é 9,21 (que arredondei para 9). Não se esqueça da notação de módulo ao apresentar o resultado final: \[\left|\vec{v}\right| = \sqrt{7^2 + 6^2}\] E aqui está o código JavaScript que nos permite informar os valores x e y do vetor e obter o seu comprimento, tamanho ou módulo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudos JavaScript</title> </head> <body> <script type="text/javascript"> // vamos declarar os valores x e y var x = 7; var y = 6; // vamos calcular a norma do vetor var norma = Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2)); // mostra o resultado document.writeln("A norma do vetor é: " + norma); </script> </body> </html> Ao executar este código JavaScript nós teremos o seguinte resultado: A norma do vetor é: 9.219544457292887 Novamente note que arredondei o comprimento do vetor para melhor visualização no gráfico. Para calcular a norma de um vetor no espaço, ou seja, no R3, basta acrescentar o componente z no cálculo. |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como adicionar horas a um objeto Date em JavaScript - Datas e horas em JavaScriptQuantidade de visualizações: 8591 vezes |
Nesta dica mostrarei como é possível adicionar horas a um objeto Date da linguagem JavaScript. Note que criei uma função personalizada para este propósito, e ela retorna um novo objeto Date com a nova data e hora já construída. Veja o código completo para o exemplo: ---------------------------------------------------------------------- Se precisar de ajuda com o código abaixo, pode me chamar no WhatsApp +55 (62) 98553-6711 (Osmar) ---------------------------------------------------------------------- <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> function adicionarHoras(data, horas){ return new Date(data.getTime() + (horas * 60 * 60 * 1000)); } document.write('Agora são: ' + (new Date()).toLocaleString() + '<br>'); document.write('Daqui 5 horas será: ' + adicionarHoras(new Date(), 5).toLocaleString()); </script> </body> </html> Ao executar este código nós teremos o seguinte resultado: Agora são: 24/03/2021 17:21:40 Daqui 5 horas será: 24/03/2021 22:21:40 |
Desafios, Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
Dicas e truques de outras linguagens |
Códigos Fonte |
Software de Gestão Financeira com código fonte em PHP, MySQL, Bootstrap, jQuery - Inclui cadastro de clientes, fornecedores e ticket de atendimento Diga adeus às planilhas do Excel e tenha 100% de controle sobre suas contas a pagar e a receber, gestão de receitas e despesas, cadastro de clientes e fornecedores com fotos e histórico de atendimentos. Código fonte completo e funcional, com instruções para instalação e configuração do banco de dados MySQL. Fácil de modificar e adicionar novas funcionalidades. Clique aqui e saiba mais |
Controle de Estoque completo com código fonte em PHP, MySQL, Bootstrap, jQuery - 100% funcional e fácil de modificar e implementar novas funcionalidades Tenha o seu próprio sistema de controle de estoque web. com cadastro de produtos, categorias, fornecedores, entradas e saídas de produtos, com relatórios por data, margem de lucro e muito mais. Código simples e fácil de modificar. Acompanha instruções para instalação e criação do banco de dados MySQL. Clique aqui e saiba mais |
Linguagens Mais Populares |
1º lugar: Java |