借用关联数组(hash数组)的key不能重复的原理,来做此题。

关联数组的特性:查找速度极快,key不能重复。

var arr = [2,3,1,5,3,6,2,3,1,4,4,4];
//step1:定义一个空的hash数组
var hash = [];

//遍历arr数组
for(var i=0;i<arr.length;i++){
   //如果hash数组中不包含arr的当前值对应的key
   if(hash[arr[i]]===undefined){
      //将当前值作为key存入hash中,并将值赋值为1
     hash[arr[i]]=1;
   }else{
       //如果hash数组中包含当前值对应的key,将值加1
       hash[arr[i]]++;
   }
}
//清空arr数组
arr=[];
//遍历hash数组
for(var key in hash){
    //将key重新存回arr中
    arr[arr.length]=(key-=0);    //key-=0 是为了将字符串类型的key转换为数值型
}

console.log(arr);

javascript取出数组中的最大值

取最大值: function getMax(arr){     //首先将数组的第一个值赋给一个变量,用于和数组里其他值挨个作比较   &nb...

javascript数组冒泡排序

冒泡排序: function bubbleSort(arr){     // 第r轮 从r=1开始到r<arr.length结束     &nbs...