一些JS算法面試題

1.數(shù)組去重

有兩個(gè)方法,一個(gè)用對(duì)象,一個(gè)用數(shù)組的indexOf方法

Array.prototype.unique = function(){

? ? ?var res = [];

? ? ?var json = {};

? ? ?for(var i = 0; i < this.length; i++){

? ? ? ? ? if(!json[this[i]]){

? ? ? ? ? ? ? ?res.push(this[i]);

? ? ? ? ? ? ? ?json[this[i]] = 1;

? ? ? ? ? }

? ? ?}

? ? ?return res;

}

=====================================================

function unique(arr){

? ? var newArr = [];

? ? for(var i = 0; i < arr.length; i++) {

? ? ? ? if(newArr.indexOf(arr[i]) == -1) {

? ? ? ? newArr.push(arr[i]);

? ? ?}

}

return(newArr);

}

2.清除開(kāi)頭結(jié)尾的空格

function trim(str){

? ? return str.replace(/^\s+/,"").replace(/\s+$/,"");

}

3.冒泡排序

function bubbleSort(arr){

? ? var temp;?

? ? for(var i=0;<arr.length ; i ++){

? ? ? ? for(var j = 0;j < arr.length - 1;j ++){

? ? ? ? ? ? if(arr[i] < arr[j]){

? ? ? ? ? ? ? ? ? ?temp = arr[i];

? ? ? ? ? ? ? ? ? arr[i] = arr[j];

? ? ? ? ? ? ? ? ? arr[j] = temp;

? ? ? ? ? ? }

? ? ? ?}

? }

return arr;

}

4.字符串中出現(xiàn)次數(shù)最多的字母

function findItem(str){

? ? ? ? var maxLength = 0;

? ? ? ? var result =‘’;

? ? ? ? ?while(str !=‘’){

? ? ? ? ? ? ? ? ? var oldStr = str;

? ? ? ? ? ? ? ? ? ?var getStr = str.substr(/”+ getStr +“/g,’’);

? ? ? ? ? ? ? ? ? ?str = str.replace(new RegExp(getStr,"g"),"");

? ? ? ? ? ? ? ? ? ? if(oldStr.length-str.length > maxLength){

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?maxLength = oldStr.length-str.length;

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?result = getStr + "=" + maxLength;

? ? ? ? ? ? ? ? ? ? ? }

? ? ? ? ? ? ?}

? ? ? ? ? ? return result;

}

5.閉包

var boxes = document.getElementsByTagName("div");

? ? ? ? ? ?for(var i = 0; i < boxes.length; i++) {

? ? ? ? ? boxes[i].index =i+1;//保存起來(lái)

? ? ? ? ? ?boxes[i].onclick = function() {

? ? ? ? ? ? ? ? ? ? alert(this.index);

? ? ? ? ? }

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容