<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<style>
/* body{
cursor: pointer;
} */
</style>
<body>
</body>
</html>
<script>
//方法一:
//编写一个函数 判断在数组中,是否存在某个值 fn(arr,n)
function fnCz(arr,n){
for(var i = 0;i < arr.length;i++){
if(arr[i] == n){
return true;
}
}
return false;
}
//数组去重,定义一个新数组,将已有数组的值拿出来,新数组中没有的就存进去
//可利用上面的函数
var arr = [1,2,4,6,2,1];
var brr = [];
function ArrQc(){
for(var i = 0;i < arr.length;i++){
if(!fnCz(brr,arr[i])){
brr.push(arr[i]);
}
}
return brr;
}
console.log(ArrQc())
//方法二:indexOf()
//indexOf(n) 判断n在数组中是否存在,如果存在就返回这个数在数组中的下标,不存在就返回-1
function indexQc(){
for(var i = 0 ; i < arr.length;i++){
if(brr.indexOf(arr[i])== -1){
brr.push(arr[i])
}
}
return brr
}
console.log(indexQc())
//方法三:
//数组排序:
//冒泡排序:相邻两个数比较 ,大数下沉,小数上浮;
// [2,3,5,3,2,7,4,8]
var wyl = [2,3,5,3,2,7,4,8]
function MpPx(){
var b = 0; //用于交换的一个数
for(var i = 0 ;i < wyl.length -1; i++){//轮数 每一轮都得到一个当前的最大数,第一轮将最大的数交换到最后,第二轮再类推,先1,2比较,交换完毕后,2,3比较,依次类推;而每一轮的次数等于原本的数减1 轮数 和次数 有关; 总轮数是数的长度减1,而次数是数的长度减当前的轮数 也就是长度减1减i
for(var j = 0;j < wyl.length - 1 - i;j++){
if(wyl[j] > wyl[j+1]){
// b = wyl[j];
// wyl[j] = wyl[j+1];
// wyl[j+1] = b;
//使用解构赋值
[wyl[j],wyl[j+1]] = [wyl[j+1],wyl[j]]
}
}
}
return wyl
}
console.log(MpPx());
//sort()排序 无参数时默认按照 字符 进行升序排序,对数值进行排序时需要有参数;参数为匿名函数
// 数组名.sort( function(a,b){ return a-b; 为升序 return b-a;为降序})
console.log(wyl.sort(function(a,b){
return b-a;
}))
//选择排序:选择其中一个数 和其他的数作比较 轮数,次数 每一轮得到一个最小值
var xl = [2,3,2,4,6,4,3]
function XzPx(){
var a = 0;
for(var i = 0 ;i < xl.length-1; i++){
for(var j = i+1;j <=xl.length-1;j++){
if(xl[i] > xl[j]){
a = xl[j];
xl[j] = xl[i];
xl[i] = a;
}
}
}
return xl;
}
console.log(XzPx())
//将数组按顺序排列,遍历数组,相邻的两个值作比较;定义一个新数组,如果前一个数不等于后一个数,将前一个数存到新数组里
var b = [1,3,3,4,5,8,8,9];
var c = [];
function noRepeat(){
for(var i = 0; i < b.length; i++){
if(b[i] !== b[i+1]){
c.push(b[i]);
}
}
return c;
}
console.log(noRepeat())
</script>