去重:
使用indexOf方法
//假定已有一个数组ar里面包含了数;
//out为去重后的数组
function find(ar[]){
for(var i = 0 ; i<ar.length ; i++){
if(out.indexOf(ar[i]) == -1){
out.push(ar[i]);
}
}
return out;
}
hash表的方式(快于indexOf方法但是使用内存更多)
//与上面拥有相同的假定ar与out数组,hash为hash表
function find(ar[]){
for(var i = 0 ; i <ar.length ; i++){
if(!hash(ar[i])){
hash(ar[i]) = true;
out.push(ar[i]);
}
}
return out;
}
排序使用原生js:V8引擎下的chrome,sort内部使用快排算法
//假定已经有一个数组ar
ar.sort(function(value1 , value2){
return (value1-value2);//升序排列
/*return (value2-value1)//降序排列*/})
快排不是稳定排序,实现稳定的sort排序
ar.sort(function)