又到了面试季,最近看到好多小伙伴在各种群里发一些面试题求助,于是便决定写一些简单的小demo,希望能帮助到需要的同志!
- 数组去重
let arr=[1,1,1,1,2,2,2,3,3,3,4]; let arr1=[]; //创建一个新数组 for(let i=0;i<arr.length;i++ ){ //遍历这个数组 if(arr1.indexOf(arr[i])===-1){ //判断这个新数组里边是否有当前值 arr1.push(arr[i]); //没有就push到新数组 }else{ continue; //如果有就跳过本次循环 } } console.log(arr1); //[1,2,3,4]
2.字符串去重
//和数组基本没区别 let str = "1231231234"; let newStr = ""; console.log(newStr.indexOf("1")); for (let i = 0; i < str.length; i++) { if (newStr.indexOf(str[i]) === -1) { newStr += str[i] } else { continue; } } console.log(newStr);
3.数组排序
//调用sort自动排序
let arr = [1, 2, 3, 1, 2, 3, 1, 3, 4]; arr.sort((a, b) => { return b - a; //从大到小 return a - b; //从小到大 }) console.log(arr);//冒泡排序 let arr = [1, 2, 3, 1, 2, 3, 1, 3, 4]; for (let i = 0; i < arr.length; i++) { for (let j = 0; j < arr.length - i - 1; j++) { // if(arr[j]>arr[j+1]){ 从小到大 // let newItem=arr[j]; // arr[j]=arr[j+1]; // arr[j+1]=newItem; // } // if(arr[j]<arr[j+1]){ 从大到小 // let newItem=arr[j]; // arr[j]=arr[j+1]; // arr[j+1]=newItem; // } } } console.log(arr);
4.获取数组里边的最大值
//其实上边的排序过后直接获取就可以知道了,不过这个也是一种思想,希望可以有所帮助,最小值就不用再说了吧? let arr = [1, 2, 3, 1, 2, 3, 1, 3, 4]; let Max = null; for (let i = 0; i < arr.length; i++) { Max = arr[i]; if (Max < arr[i]) { //修改判断条件就好了
Max = arr[i] } else { continue; } } console.log(Max);