前端面试
1.冒泡排序 選擇排序
冒泡排序
冒泡排序規則:前后兩兩進行比較,如果符合比較的條件,就交換兩個數的位置,直到所有的數據,都符合從小到大條件,結束排序。
規律:每一輪比較,都會找出一個較大的數,放在正確的位置。
比較的輪數 = 數組長度 - 1;
每一輪比較的次數 = 數組長度 - 當前輪數;
具體代碼如下:
選擇排序
規律:通過比較首先選出最小的數放在第一個位置上,然后在其余的數中選出次小數放在第二個位置上,依此類推,直到所有的數成為有序序列。
比較的輪數 = 數組長度 - 1
每一輪比較次數 = 數組長度 - 當前輪次
具體代碼如下:
//用選擇排序的方法從小到大排列數組元素。 let arrs = [9, 8, 7, 6, 5, 4]; //比較的輪數 for(let i = 0; i < arrs.length - 1; i++){//每輪比較的次數for(let j = i + 1; j < arrs.length; j++){if(arrs[i] > arrs[j]){let tmp = arrs[i];arrs[i] = arrs[j];arrs[j] = tmp;}} } console.log(arrs); //[ 4, 5, 6, 7, 8, 9 ]2.字符串中大寫字母出現的次數
思路:用ASCII碼 來判斷 65-90 是大寫字母的范圍
charCodeAt() 方法可返回指定位置的字符的 Unicode 編碼。
具體代碼如下:
3.字符串中字母相同的個數
思路:聲明一個空的對象,用字符串中的值 作為對象的key 鍵名 value為存在的個數
let str2 = 'aaabbbfgtfffdfhgnfh'; let obj = {}; //聲明一個空的對象 對象中的key值是不能重復存在的 所以用str2里的每一個字母作為key的值 for (let i = 0; i < str2.length; i++) {let char = str2.charAt(i); //遍歷出str2里面的每一個字母if (obj[char]) {obj[char]++; //存在則++} else {obj[char] = 1; //不存在則value 賦值為1} } console.log(obj);4.數組去重
第一種方法(set,get)
set里不可以出現重復的元素 并且是無序的
第二種方法(indexOf)
indexOf() 方法可返回某個指定的字符串值在字符串中首次出現的位置。–有值
沒有值則返回 -1;
總結
- 上一篇: 函数防抖 和 函数节流
- 下一篇: 山东移动如何取消套餐(山东省人民政府)