操作数组与字符串的一些方法
又到了面试季,最近看到好多小伙伴在各种群里发一些面试题求助,于是便决定写一些简单的小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);5.把一个url的键和键值解析出来放在一个对象里边
//有可能这个方法比较笨,但是我觉着原理大家都能看的懂,一打印就知道怎么回事了 const url = 'https://www.baidu.com/s?ie=utf-8&f=8&rsv_bp=1&rsv_idx=1&tn=baidu'; let arr = url.split("?")[1].split("&"); let obj = {}; for (let i = 0; i < arr.length; i++) { obj[arr[i].split("=")[0]] = arr[i].split("=")[1]; } console.log(obj); //{ie: "utf-8", f: "8", rsv_bp: "1", rsv_idx: "1", tn: "baidu"}

浙公网安备 33010602011771号