1.冒泡排序
挨着两个数,两两相比,如是前一个值比后一个值大,就交换位置
一轮之后最大的值排在后面,在未排序的值中重复以上操作
var arr = [10,5,2,18,60,5,18]
for(var i = 0;i < arr.length - 1;i++){
for(var a = 0;a < arr.length - 1 - i;a++){
if(arr[a] > arr[a + 1]){
var tim = arr[a]
arr[a] = arr[a + 1]
arr[a + 1]=tim
}
}
}
conlose.log(arr) //[2,5,5,10,18,18,60]
2.选择排序
首先在序列中找到最小(大)元素,存放在排序序列的其实位置(位置交换)
在从剩下未排序的元素中继续寻找最小(大)元素,然后放在第一个元素的后面
重复直至排序完毕
for(var j = 0;j < arr.length - 1;j++){
for(var i = j + 1;i < arr.length;i++){
if(arr[i] < arr[j]){
var tim = arr[i]
arr[i] = arr[j]
arr[j] = tim
}
}
}
3.数组去重 (去掉数组中重复的值)
1.ixdexOf方法
var arr2 = [] //创建一个新的空数组来接收过滤后的值
for(var i = 0;i < arr.length;i++){
if(arr2.indexOf(arr[i]) == -1){
arr2.push(arr[i])
}
}
conlose.log(arr2) //[10,5,2,18,60]
2.双重for循环方法
for(var i = 0;i<arr.length;i++){
for(var a = i + 1;a<arr.length;a++){
if(arr[i] == arr[a]){
arr.splice(a,1)
a--
}
}
}