functionbubbleSort(array){if(Object.prototype.toString.call(array).slice(8,-1)==='Array'){var len = array.length,
temp;for(var i =0; i < len -1; i++){for(var j = len -1; j >= i; j--){if(array[j]< array[j -1]){
temp = array[j];
array[j]= array[j -1];
array[j -1]= temp;}}}return array;}else{return'array is not an Array!';}};var arr =[23,34,3,4,23,44,333,444];
console.log(bubbleSort(arr));
数组,去重
functionunique(arr){var hash =[];for(var i =0; i < arr.length; i++){if(hash.indexOf(arr[i])==-1){
hash.push(arr[i]);}}return hash;};var arr2 =[2,8,5,0,5,2,6,7,2];
console.log(unique(arr2));
数组,数组中出现最多的元素和最多元素的次数,第二多元素和第二多元素的次数
functionaryMore(arr){var i;var length = arr.length;var hash =[];//使用哈希数组for(i =0; i < length; i++){if(!hash[arr[i]]) hash[arr[i]]=1;//没有初始化的数组元素为undefined,undefined++为NaNelse hash[arr[i]]++;}var max =0;//最多的次数var maxV;//出现最多的元素var second =0;//第二多的次数var secondV;//出现第二多的元素
hash.forEach(function(item, index){//forEach函数会跳过空元素if(item > max){
second = max;
secondV = maxV;
max = item;
maxV = index;//用索引来保存原数组的值}elseif(item > second){
second = item;
secondV = index;}});return{
max,
maxV,
second,
secondV
};}var arr3 =[2,2,2,2,3,4,5,4,3,1,4,4,100,100];
console.log(aryMore(arr3));