<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>数组去重</title> <script> window.onload = function(){ var aList = [6,7,2,5,1,5,2,4,6,7,8,1,4,6,7,8,4,1,2,3,5,6,7,8,4,6,7,3,5,6,7,4,3,2,12,4,22,7,3,3,4,5,7,9,6,4,3,3]; var iLen = aList.length; // var sList = ''; // 在创建空数组的时候应该使用 var 变量 = [] ; // 不确定数组类型的话, 一些方法在后方无法使用, 例如push(); var sList =[] ; var sTr = '' ; for(i=0;i<iLen;i++){ sTr = aList[i] if (i == aList.indexOf(sTr)){ // 这里对比相同内容下标索引, 第一个索引 & 当前索引. // 如相同, 则添加. 如不同, 则证明重复出现. sList.push(sTr); } } alert(sList); } </script> </head> <body> </body> </html>
JavaScrip中, 数组去重的思路就是. 在IndexOf内容的时候, 会返回数组中第一次出现该值的位置. 从而完成的.
知道了这个原理之后, 把数组中的内容挨个遍历一遍,并判断, 当前内容所在的index和IndexOf取出来的索引, 是否相同.
相同, 则证明所验证的是列表中唯一的一个内容.
不同, 则证明该内容在列表中至少存在两次.
从而完成去重的过程.