前端演算法面試題整理

2022-09-22 03:51:09 字數 2297 閱讀 2898

1.寫乙個方法將陣列換成前端更易解析的樹狀結構

function gettree(data) ;

for (var i = 0; i < data.length; i++) ;

hash[data[i].province]['city'] =

newdata.push(hash[data[i].province]);

} else if (hash[data[i].province].province == data[i].province) )}}

return newdata;

}var data = [, , , , ];

console.log(gettree(data));

乙個迴圈,三層樹狀結構

function gettree(data) ,

cityhash = {};

for (var i = 0; i < data.length; i++) ;

cityhash[data[i].city] =

cityhash[data[i].city]['children'] =

hash[data[i].province]['city'] =

hash[data[i].province]['city'].push(cityhash[data[i].city])

newdata.push(hash[data[i].province]);

} else if (hash[data[i].province].province == data[i].province)

cityhash[data[i].city]['children'] =

hash[data[i].province]['city'].push(cityhash[data[i].city])

} else if (cityhash[data[i].city].city == data[i].city) )}}

}return newdata;

}var data = [,

, , , , , ];

console.log(gettree(data));

2.統計字串出現最多的字母

function

getmax(str) ,

maxstr, max = 1;

for (var i = 0; i < str.length; i++)

else

if (hash[str[i]] >max)

}return

maxstr;

}var str = 'abcdeffggghhhhiiiii';

console.log(getmax(str));

3.排序演算法

function

bubblesort(arr) }}

return

arr;

}var arr = [1, 2, 8, 3, 4, 1];

console.log(bubblesort(arr));

4.去重演算法

function

unique1(arr)

}return

newarr;

}var arr1 = ['b', 'b', 'a', 1, 3, 4, 4];

console.log(unique1(arr1));

function

unique2(arr) ,

newarr =;

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

}return

newarr;

}var arr2 = ['b', 'b', 'a', 1, 3, 4, 4];

console.log(unique2(arr2));

function

unique3(arr) }}

return

arr;

}var arr3 = ['b', 'b', 'a', 1, 3, 4, 4];

console.log(unique3(arr3));

5.二分查詢演算法(建立在已經排好序的情況下)

function

binarysearch(arr, data)

else

if (arr[middle] else

}return -1;

}var arr = [1, 2, 3, 4, 5, 6];

console.log(binarysearch(arr, 2));

前端面試題整理

從瀏覽器位址列輸入url到顯示頁面的步驟 以http為例 在瀏覽器位址列輸入url 瀏覽器檢視快取,如果請求資源在快取中並且新鮮,跳轉到轉碼步驟 如果資源未快取,發起新請求 如果已快取,檢驗是否足夠新鮮,足夠新鮮直接提供給客戶端,否則與伺服器進行驗證。檢驗新鮮通常有兩個http頭進行控制expire...

前端面試題整理

1.html5的新特性。主要講講新增哪些api 地理定位,拖放,web儲存應用快取,webworkers,sse 2.css3的新特性。3 使用嚴格模式的限制有哪些。4 什麼是同源?什麼情況下就屬於跨域?怎麼解決跨域說出三種以上的方法,jsonp原理是什麼。同源 協議,網域名稱,埠相同 方法一 co...

前端面試題整理

js 1 ajax 原理 ajax的基本原理總結 2 原型和原型鏈 原型和原型鏈 3 深拷貝淺拷貝 js的深拷貝和淺拷貝 4 繼承有幾種方式 js繼承的幾種方式 5 閉包 js閉包 6 阻止事件冒泡,和預設事件 阻止事件冒泡,阻止預設事件 7 陣列去重 物件去重 8 陣列有哪些方法 9 promis...