前端常用演算法 積累

2021-07-26 10:33:50 字數 1885 閱讀 9566

/**

* 1.回文

*/function reversestrfn(str)

let str11 = reversestrfn('hello');

/*** 2.去掉陣列重複的值

*/function uniqfn(arr) ;

let data = ;

for (let i = 0, len = arr.length; i < len; i++)

}return data

}let arr21 = [1, 13, 24, 11, 11, 14, 1, 2];

let arr22 = uniqfn(arr21);

/*** 3.統計乙個字串出現最多的字母(統計乙個字串各個字母出現的次數)

*/function maxwordfn(str)

let obj = {};

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

}//取出陣列的最大值可能是多個

let arr = ;

for (let k in obj)

arr[obj[k]] += k;

}return arr[arr.length - 1]

}let maxword = maxwordfn("wertuet")

/*** 4.排序演算法

*///氣泡排序

function sort41(arr) }}

return arr;

}let arr41 = [1, 5, 3, 2, 4];

let arr42 = sort41(arr41);

//快速排序

function quicksort(arr)

let leftarr = ;

let rightarr = ;

let q = arr[0];

for (let i = 1, len = arr.length; i < len; i++) else

}return .concat(quicksort(leftarr), [q], quicksort(rightarr));

}let arr43 = sort41(arr41);

/*** 5.不借助臨時變數,進行兩個整數的交換

*/function change51(a, b)

let arr51 = change51(1, 2)

function change52(x, y)

let arr52 = change52(1, 2)

/*** 6斐波那契數列,又稱**分割數列,指的是這樣乙個數列:0、1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列主要考察遞迴的呼叫。

*/function getfibonacci(n) else

i++;

}return fibarr;

}let arr61 = getfibonacci(10)

/*** 7.找出下列正陣列的最大差值

*/function getmax(arr)

return max - min;

}arr71 = [9, 1, 8, 7, 600];

arr72 = getmax(arr71);

/*** 8.隨機生成指定長度的字串

*/function strfn(n)

return tmp;

}let str81 = strfn(6)

/*** 9.實現階乘

*///1. 非遞迴實現

function factorialize131(num)

//2. 遞迴實現

function factorialize132(num)

}

常用前端知識積累

使用閉包主要是為了設計私有的方法和變數。優點是可以避免全域性變數的汙染,缺點是閉包會常駐記憶體,會增大記憶體使用量,使用不當很容易造成記憶體洩露 第一 每個特定的網域名稱下最多生成20個cookie ie6或更低版本最多20個cookie ie7和之後的版本最後可以有50個cookie。firefo...

前端學習積累

cellpadding 規定單元格邊沿與其內容直接的空白,預設為1畫素 cellspacing 規定單元格之間的空白,預設2畫素 1 盡量使用小寫字母提高 可讀性 2 屬性前面冒號後面保留乙個空格 3 選擇器和大括號之間保留乙個空格 4 多個單詞可以用短橫線進行分割 red car 5 不要使用純數...

前端小知識積累

1.常用隱藏編輯框的方法 方法1 nf cus this.blur 方法2 readonly 方法3 disabled 通過控制屬性 id attr 控制是否能編輯 特例 特殊編輯文字 如下拉列表 不可使用以上控制 不可逆的 處理方式 給標籤新增乙個容器,通過控制容器的hide和show實現 如 d...