English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
本文实例讲述了JS实现数组去重复值的方法。分享给大家供大家参考,具体如下:
运行效果图如下:
完整实例代码如下:
!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Test</title> <script type="text/javascript" language="javascript" > Array.prototype.distinct = function(){ var $ = this; var o1 = {}; //存储去重复值 var o2 = {}; //存储重复值 var o3 = []; //存储重复值 var o; //单个数组变量 for(var i=0;o = $[i];i++{ if(o in o1{ if(!(o in o2)) o2[o] = o; delete $[i]; }else{}} o1[o] = o; } } $.length = 0; //Limpar o array original for(o in o1{ $.push(o); } for(o in o2{ o3.push(o); } return o3; } var a = [2,2,2,3,3,3,4,4,5,6,7,7]; console.log("O array original é:" + a); //2,2,2,3,3,3,4,4,5,6,7,7 console.log("Os elementos duplicados são:" + a.distinct()); //2,3,4,7 console.log("O array ajustado é:" + a); //2,3,4,5,6,7 console.log("O comprimento ajustado é:" + a.length) //6 </script> </head> <body> </body> </html>
PS: Aqui estão algumas outras ferramentas de remoção de duplicatas para referência e uso:
Ferramenta online para remoção de itens duplicados:
http://tools.jb51.net/code/quchong
Ferramenta online para remoção de duplicatas de texto:
http://tools.jb51.net/aideddesign/txt_quchong
Leitores interessados em mais conteúdo sobre JavaScript podem consultar as seções especiais deste site: 'Resumo de Técnicas de Manipulação de Arrays no JavaScript', 'Resumo de Algoritmos de Ordenação no JavaScript', 'Resumo de Uso de Operações Matemáticas no JavaScript', 'Resumo de Estruturas de Dados e Técnicas de Algoritmos no JavaScript', 'Resumo de Algoritmos de Navegação e Técnicas no JavaScript', 'Resumo de Técnicas de Busca no JavaScript' e 'Resumo de Técnicas de Erro e Depuração no JavaScript'.
Espero que o conteúdo deste artigo ajude a todos a programar em JavaScript.
Declaração: O conteúdo deste artigo é extraído da Internet, pertence ao respectivo proprietário. O conteúdo é contribuído e carregado voluntariamente pelos usuários da Internet. Este site não possui direitos de propriedade, não foi editado manualmente e não assume responsabilidades legais relacionadas. Se você encontrar conteúdo suspeito de infringir direitos autorais, por favor, envie um e-mail para: notice#oldtoolbag.com (ao enviar e-mail, substitua # por @ para denunciar e forneça provas relevantes. Apenas após a verificação, o site deletará o conteúdo suspeito de infringir direitos autorais.