去重复
1、用 indexOf 查看是否存在,不存在没添加
var arr = ['aa','aa','aa','bb','bb',3,5,8,9,4,5,4];
function unique(arr){
var newArr = [];
for(var i in arr){
if(newArr.indexOf(arr[i]) === -1){
newArr.push(arr[i])
}
}
return newArr;
}
2、用 再用 filter 筛选,再用 indexOf 查看是否存在
function unique1(arr){
function aa(item, index, array){
return array.indexOf(item) === index; // 当前值在原数组中第一次出现的位置 === 他的索引,就证明它不是重复的,然后就返回去
}
var res = arr.filter(aa);
return res
}
排序
var conf = {
compare : function(property){
return function(a,b){
var value1 = a[property];
var value2 = b[property];
return value1 - value2;
}
},
sortList:function(arr,str){//数组排序
if(Object.prototype.toString.call(arr).slice(8,-1) ==='Array'){
if(str){
var returnArr = arr.sort(this.compare(str));
}else{
var returnArr = arr.sort(this.sort(str));
}
return returnArr;
}else{
return arr;
}
},
sort:function(arr){//数组排序
if(Object.prototype.toString.call(arr).slice(8,-1) ==='Array'){
var array = [];
for(var i in arr){
array.push(arr[i]);
}
for (var i = 1; i < array.length; i++) {
var key = array[i];
var j = i - 1;
while (j >= 0 && array[j] > key) {
array[j + 1] = array[j];
j--;
}
array[j + 1] = key;
}
return array;
}else{
return arr;
}
}
}
var arr = [{a:2,b:'x2'},{a:3,b:'x3'},{a:1,b:'x1'}];
var arr2 = [4,1,3,5,2]
var newArr = conf.sortList(arr,'a');
var v = conf.sortList(arr2);
console.log(newArr)
console.log(v)