一、字符串
1.字符串中出现最多次数的字符
function findMaxDuplicateChar(str) {
var cnt = {}, // 用来记录所有的字符的出现频次
c = ""; // 用来记录最大频次的字符
for (var i = 0; i < str.length; i++) {
var ci = str[i];
if (!cnt[ci]) {
cnt[ci] = 1;
} else {
cnt[ci]++;
}
if (c == "" || cnt[ci] > cnt[c]) {
c = ci;
}
}
console.log(cnt)
return c;
}
2.翻转字符串
function reverseString(str) {
return str.split("").reverse().join("");
}
3.回文字符串
// 判断回文字符串
function palindrome(str) {
var reg = /[\W\_]/g;
var str0 = str.toLowerCase().replace(reg, "");
var str1 = str0.split("").reverse().join("");
return str0 === str1;
}
二、数组
// 数组去重
function uniqueArray(arr) {
var temp = [];
for (var i = 0; i < arr.length; i++) {
if (temp.indexOf(arr[i]) == -1) {
temp.push(arr[i]);
}
}
return temp;
//or
return Array.from(new Set(arr));
}
三、排序
1.冒泡排序
// 冒泡排序
function bubbleSort(arr) {
for(var i = 1, len = arr.length; i < len - 1; ++i) {
for(var j = 0; j <= len - i; ++j) {
if (arr[j] > arr[j + 1]) {
let temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}