<script>
//去重
let arr = [1,3,4,2,2,3,4,5,1,6,1,7]
方法一
for(let i = 0; i < arr.length; i++){
for(let j = i+1; j < arr.length; j++){
if(arr[i]==arr[j]){
arr.splice(j,1);
j--
}
}
}
console.log(arr)
//方法二
for(let i = 0; i < arr.length; i++){
let index = arr.indexOf(arr[i],i+1);
if( index != -1){
arr.splice(index, 1);
i--;
}
}
console.log(arr)
//方法三
let newArr = [];
for(let val of arr ){
if(newArr.indexOf(val) == -1){
newArr.push(val)
}
}
console.log(newArr)
//方法四
arr = Array( ... new Set(arr))
console.log(arr)
</script>
排序
let arr = [1,3,4,2,2,3,4,5,1,6,1,7] //升序
//方法一选择排序 取出一个元素,将其他元素与该元素一次进行比较,如果其他元素比该元素小,则交换
//第一次排序 [1,3,4,2,2,3,4,5,1,6,1,7]
//第二次排序 [1,1,4,3,2,3,4,5,2,6,1,7]
for(let i=0; i<arr.length; i++){
for(let j=i+1; j<arr.length; j++){
if(arr[i] > arr[j]){
let val = arr[j];
arr[j] = arr[i];
arr[i] = val
}
}
}
console.log(arr)
//冒泡排序 比较相邻的两个元素,根据大小确定是否需要交换位置
//第一次排 [1,3,2,2,3,4,4,1,5,1,6,7]
//第二次排序 [1,2,2,3,3,4,1,4,1,5,6,7]
// [1,2,2,3,3,1,4,1,4,5,6,7]
// [1,2,2,3,1,3,1,4,4,5,6,7]
for(let i=0; i<arr.length-1; i++){
for(let j=0; j<arr.length-i-1; j++){
if(arr[j] > arr[j+1]){
let val = arr[j];
arr[j] = arr[j+1];
arr[j+1] = val
}
}
}
console.log(arr)
sort() 排序,默认升序(默认按照unicode编码进行排序)
let arr = [1,3,4,6,1,7,10] //升序
arr.sort()
console.log(arr) //(7) [1, 1, 10, 3, 4, 6, 7]
arr.sort( (a,b)=>a-b) 数值升序排序
arr.sort( (a,b)=>b-a) 数值降序排序