1、插入排序
function insertsort(arr)
arr[pre_index + 1] = current; //確定位置後,賦值
}return arr;
}
2、快速排序
function quicksort(arr) else
}return quicksort(left).concat(middle, quicksort(right)) // 遞迴並連線
}
3、二分查詢(遞迴和非遞迴)
//非遞迴
function bianrysearch(arr,key)else
}return -1;
}//遞迴
function bianrysearch(arr,left,right,key)else
}
4、鍊錶反轉
1、鍊錶反轉可以一次查詢鍊錶儲存到陣列中,然後陣列取反操作
2、(c)1 -> 2 -> 3 -> 4 -> 5
function reservelist(listnode head)
}return head; //返回反轉後的頭指標
}
5、命名方式的轉換
1、dom_abc => domabc
const str = 'dom_one'
const reg = /\_(\w)/g;
//all第乙個引數代表匹配的全部(_o),第二個引數是匹配的下乙個(o)
const str1 = str.replace(reg,(all,letter)=>)
console.log(str1) //domone
//還有一種方法是split('_')分割後,儲存到陣列中,然後遍歷
2、domabc => dom_abc
function toline(name)
6、實現bind方法
function.prototype.bind2 = function(context) ;
}
7、分析列印結果
function fun(n,o)
} }
var a = fun(0); //undefined
a.fun(1);//1
a.fun(2);//2
a.fun(3);//3
8、變數提公升和函式提公升問題
函式提公升優先順序高於變數提公升,其中函式提公升前提是不能宣告為函式表示式:var fun = function(){},且函式提公升不會被變數提公升覆蓋,可以被變數宣告可以覆蓋。
console.log(a) //列印函式a
function a()
console.log(a) //列印函式a
var a = 10;
console.log(a); //10
var b = 20;
var b; //若重複宣告的語句無初始值,那麼不會對原先變數有任何影響
console.log(b) //20
if(!(c in window))
console.log(c) //undefined
9、查詢字串出現的次數
let arr = ;
let n = 0;
while(str.indexof(target_str,n) != -1 && n
10、不借助輔助空間,找出陣列中不重複的元素
// [0,0,1,1,1,2,3,4,5]
let i = 0,j=0;
for(i = 0;iif(j==arr.length) console.log(arr[i]) //3 4 5
}
前端面試題(二)
一 h5儲存型別有什麼區別 localstorage 沒有時間限制的資料儲存,資料永遠不會過期,關閉瀏覽器也不會丟失 sessionstorage 針對session的乙個資料儲存,針對同乙個會話頁面中才能訪問,並且結束後,會話才能銷毀。限於視窗 cookie 單個cookie大小不能超過4kb,有...
前端面試題
sprites是什麼和為什麼要使用他們?css 精靈 把一堆小的整合到一張大的上,減輕伺服器對的請求數量 有可能替代sprites的方法是什麼?svg圖示,字型圖示,字元編碼等等。1 在div排版的時候,假設現在是100px的寬,我在盒子左側用padding left留個10px的白,div就撐開了...
前端面試題
行內元素有哪些?塊級元素有哪些?空 void 元素有哪些?link和 import的區別是?常見相容性問題?含移動端 html5的離線儲存?描寫一段語義化的html 吧 html5的form如何關閉自動完成功能?什麼是閉包 closure 為什麼要用?localstorage和sessionstor...