数组去重+排序

原创 1130331201 随笔 JS算法 206阅读 2018-01-31 10:48:55 举报

数组去重

var arr = [3,6,7,2,5,5,6,4,1,6,8,24,12,53];
function sort(arr){
var obj = {};
var t = [];
for(var i=0;i<arr.length;i++){
// 判断这个对象的属性是否和数组的值相同,相同则不添加,否则给这个对象添加这个值
if(!(obj[arr[i]]===arr[i])){
obj[arr[i]] = arr[i];
// 把这个过滤完以后的值添加到我们的新数组中。
t.push(arr[i]);
}
}
t.sort(function(a,b){
return a - b;
});
return t;
}
console.log(sort(arr))

es6 语法 数组去重
var arr1 = [1,2,3,44,44,11,2,3,333,3,3];
function remove2(arr){
return Array.from(new Set(arr));
}
var single2 = remove2(arr1);
console.log(single2)

冒泡排序:
ar arr = [3,1,4,2,5,21,6,15,63];

function sortA(arr){
for(var i=0;i<arr.length-1;i++){
for(var j=i+1;j<arr.length;j++){
//获取第一个值和后一个值比较
var cur = arr[i];
if(cur>arr[j]){
// 因为需要交换值,所以会把后一个值替换,我们要先保存下来
var index = arr[j];
// 交换值
arr[j] = cur;
arr[i] = index;
}
}
}
return arr;
}
//因为一次循环只能交换一个最大的值,所以需要再套一层for循环。
console.log(sortA(arr))

评论 ( 0 )
最新评论
暂无评论

赶紧努力消灭 0 回复