前端常见算法面试题

数组去重
function sort(arr){
let obj={};
let newArr=[];
for(let i=0;i<arr.length;i++){
if(!obj[arr[i]]){
obj[arr[i]]=1;
newArr.push(arr[i]);
}
}
return newArr;
}
采用对象数组方法去重
冒泡排序算法
function mao(arr){
for(let i=0;i<arr.length;i++){
for(let j=0;j<arr.length-i;j++){
if(arr[j]>arr[j-1]){
let tmp = arr[j];
arr[j]=arr[j-1];
arr[j-1]=tmp;
}
}
}
return arr;
}
字符串反转
function reverse(str){
for(let i=0;i<str.length;i++){
return str.split('').reverse().join('');
}
}
产生随机数
function random(n){
let str='123asdasdasrwer';
let obj='';
var l=str.length;
for(let i=0;i<n;i++){
return obj+=str.charAt(Math.floor(Math.random()*l));
}
}
获取地址栏中某个数的值
function getUrl(){
let url=window.location.href();
let Url=url.split('?');
if(Url[0]==url){
return '';
}
let obj={};
let arr=Url[1].split('&');
for(let i=0;i<arr.length;i++){
let arg=arr[i].split('=');
obj[arg[0]]=arg[1];
}
return obj;
}
var href=getUrl();
console.log(href['name']);
    统计字符中字母出现次数多的
function findMaxDuplicateChar(str) {
if(str.length == 1) {
return str;
}
let charObj = {};
for(let i=0;i<str.length;i++) {
if(!charObj[str.charAt(i)]) {
charObj[str.charAt(i)] = 1;
}else{
charObj[str.charAt(i)] += 1;
}
}
let maxChar = '',
maxValue = 1;
for(var k in charObj) {
if(charObj[k] >= maxValue) {
maxChar = k;
maxValue = charObj[k];
}
}
return maxChar;

}

猜你喜欢

转载自www.cnblogs.com/yh886/p/9302391.html