![]() |
|
||||
![]() 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 |
Você está aqui: JavaScript ::: Dicas & Truques ::: Ordenação e Pesquisa (Busca) |
Como usar a ordenação Selection Sort em JavaScript - Ordenação por Seleção em JavaScriptQuantidade de visualizações: 645 vezes |
Nesta dica mostrarei os detalhes da ordenação Selection Sort e como implementá-la em JavaScript. Também chamada de Ordenação por Seleção, esta ordenação classifica o array (ou vetor) de forma repetitiva procurando sempre o menor elemento na parte não ordenada do vetor e movendo-o para a parte já ordenada. Mencionei menor elemento para o caso da classificação em ordem crescente. Se for ordem decrescente então deveremos buscar sempre o maior elemento. Considerando o vetor [1, 6, 9, 3, 7, 8, 5, 2] nós teremos as iterações do laço externo e do laço interno, resultando nas seguintes trocas de elementos: Troca 1: 2 trocou de lugar com 6 Resultado: [1, 2, 9, 3, 7, 8, 5, 6] Troca 2: 3 trocou de lugar com 9 Resultado: [1, 2, 3, 9, 7, 8, 5, 6] Troca 3: 5 trocou de lugar com 9 Resultado: [1, 2, 3, 5, 7, 8, 9, 6] Troca 4: 6 trocou de lugar com 7 Resultado: [1, 2, 3, 5, 6, 8, 9, 7] Troca 5: 7 trocou de lugar com 8 Resultado: [1, 2, 3, 5, 6, 7, 9, 8] Troca 6: 8 trocou de lugar com 9 Resultado: [1, 2, 3, 5, 6, 7, 8, 9] Veja agora o código JavaScript completo para a ordenação Selection Sort. Coloquei comentários detalhados para facilitar o seu entendimento do algorítmo: <!doctype html> <html> <head> <title>Selection Sort em JavaScript</title> </head> <body> <script type="text/javascript"> // vamos criar um vetor de inteiros var valores = new Array(1, 6, 9, 3, 7, 8, 5, 2); // vamos mostrar o vetor na ordem original document.write("Vetor na ordem original: "); exibir_array(valores); // agora vamos usar a ordenação Selection Sort // para ordenar o vetor em ordem crescente ordenar_selection_sort(valores); // e agora vamos mostrar o vetor ordenado document.write("<br><br>Vetor ordenado: "); exibir_array(valores); // função que permite exibir o vetor function exibir_array(vetor){ for(var i = 0; i < vetor.length; i++){ document.write(vetor[i] + " "); } } // função que usa a ordenação Selection Sort para // ordenar um array de inteiros function ordenar_selection_sort(vetor){ // vamos obter o tamanho do vetor var n = vetor.length; ...... Por apresentar laços aninhados (um laço externo e um interno), a ordenação Selection Sort não é recomendada para grandes conjuntos de dados, visto que sua complexidade de tempo é de O(n2). |
![]() |
JavaScript ::: URLs e Parâmetros de URLs ::: URLSearchParams |
Como obter a quantidade de parâmetros em um objeto URLSearchParams do JavaScriptQuantidade de visualizações: 978 vezes |
Em algumas situações nós precisamos saber quantos parâmetros de URL foram informados em um objeto URLSearchParams. Para isso nós só precisamos converter o Map representado por URLSearchParams em um array bidimensional usando Array.from(). A partir daí é só chamar a propriedade length do array. Veja o código completo para o exemplo: <!DOCTYPE html> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Acessando parâmetros de URL</title> </head> <body> <script type="text/javascript"> ...... Ao executar este exemplo JavaScript com a URL: http://localhost/estudos/index.php?nome=Osmar&idade=39 nós teremos uma mensagem window.alert() com o seguinte texto: Quantidade de parâmetros: 2 |
JavaScript ::: Dicas & Truques ::: Data e Hora |
Como subtrair dias de uma data em JavaScript - Data e horas em JavaScriptQuantidade de visualizações: 16658 vezes |
Em algumas situações, principalmente quando estamos desenvolvendo aplicações que envolvem datas, horas e calendários em JavaScript, nós precisamos subtrair dias de uma data. Nesta dica eu mostro como isso pode ser feito. Veja o código completo abaixo: <html> <head> <title>Estudando JavaScript</title> </head> <body> <script type="text/javascript"> function subtrairDias(data, dias){ return new Date(data.getTime() - (dias * 24 * 60 * 60 * 1000)); ...... Ao executarmos este código nós teremos o seguinte resultado: Hoje é: 25/03/2021 5 dias atrás era: 20/03/2021 |
JavaScript ::: ECMAScript 5 - JavaScript 5 - ES5 - ECMAScript 2009 ::: Passos Iniciais |
Como usar a diretiva "use strict" do ECMAScript 5 em seus códigos JavaScriptQuantidade de visualizações: 1067 vezes |
À medida que a linguagem JavaScript foi ganhando popularidade, as pessoas responsáveis por sua manutenção perceberam a necessidade de torná-la um pouco mais restritiva em relação a erros de programação que até então não eram vistos pelos navegadores como erros. Vamos ver um exemplo? Considere o código JavaScript a seguir:<html> <head> <title>Estudos PHP</title> </head> <body> <script type="text/javascript"> ...... Ao executarmos este código nós teremos o seguinte resultado: Total: 100 Note que, embora o código tenha funcionado como esperado, nós não usamos a palavra-chave "var" (ou "let" ou "const") na declaração da variável total_cliente. Quando não fazemos isso, o interpretador realiza esta tarefa por conta própria, declarando e colocando a variável como global. Até aqui nenhum problema. A questão surge quando queremos que esta variável seja usada localmente, ou ainda, quando queremos indicar, para quem estiver lendo o nosso código, o ponto exato onde uma determinada variável foi declarada. A partir do ECMAScript 5 (JavaScript 5 - ES5 - ECMAScript 2009) nós podemos usar o modo "use strict" para exibir erros sempre que uma variável não declarada (com "var", "let" ou "const" sofra atribuição ou leitura. Dessa forma nossos códigos serão mais seguros, pois o interpretador não mais colocará variáveis no escopo global sem nosso consentimento explícito. Veja agora o mesmo trecho de código anterior, dessa vez usando "use strict": <html> <head> <title>Estudos PHP</title> </head> <body> <script type="text/javascript"> ...... Agora o código não mais executa, e temos a seguinte mensagem de erro no console do Google Chrome ou Firefox: Uncaught ReferenceError: total_cliente is not defined at index.html:10 Neste exemplo eu usei "use strict" de forma a refletir em todos os códigos JavaScript a partir daquele ponto. No entanto, é possível colocar essa diretiva em locais expecíficos, tais como dentro do corpo de uma função. |
Desafios, Exercícios e Algoritmos Resolvidos de JavaScript |
Veja mais Dicas e truques de JavaScript |
Dicas e truques de outras linguagens |
Delphi - Como obter a quantidade de dias para um determinado ano usando a função DaysInAYear() do Delphi |
E-Books em PDF |
||||
|
||||
|
||||
Linguagens Mais Populares |
||||
1º lugar: Java |