字串操作
判斷回文字串12
3456
78910
1112
1314
function
palindrome(str)
翻轉字串
思路1:反向遍歷字串12
3456
function
reversestring(str)
思路2:轉化成array操作。12
3456
78910
1112
function
reversestring2(str)
return
arr.join(
""
);
}
ps:什麼?你要問為啥不直接操作str? 因為str[i]是唯讀的,不能str[0]=str[1]這樣操作。
再ps:如果允許用reverse(),也可以用'str'.split('').reverse().join('')實現。
生成指定長度隨機字串
ps:配合模糊等效果可以生成個驗證碼- -12
3456
7function
randomstring(n)
統計字串中次數最多字母
ps:利用object中key的唯一性,利用key來進行篩選,然後計數。12
3456
78910
1112
1314
1516
1718
1920
2122
function
findmaxduplicatechar(str)
var
charobj = {};
for
(
var
i = 0; i < str.length; i++)
else
}
var
maxchar =
''
,
maxvalue = 1;
for
(
var
k
in
charobj)
}
return
maxchar +
':'
+ maxvalue;
}
陣列操作
1. 陣列去重
ps: 還是利用object中key的唯一性,利用key來進行篩選。12
3456
78910
11function
unique(arr)
var
data =
for
(
var
i
in
arr)
}
return
data;
}
2. number陣列中最大差值12
3456
78910
function
getmaxprofit(arr)
return
max - min;
}
其他常見演算法
1. 階乘
1.1 非遞迴實現12
3456
78function
factorialize(num)
1.2 遞迴實現12
3456
78function
factorialize(num)
}
2. 生成菲波那切數列
ps:斐波那契數列,又稱**分割數列,指的是這樣乙個數列:0、1、1、2、3、5、8、13、21、34、……在數學上,斐波納契數列主要考察遞迴的呼叫。通過定義fibo[i] = fibo[i-1]+fibo[i-2];來生成斐波那契陣列。
2.1 強行遞迴實現12
3456
78910
1112
1314
15function
getfib(n)
}
function
fibo(len)
2.2 簡約非遞迴版12
3456
78910
1112
13function
getfibonacci(n)
else
i++;
}
return
fibarr;
}
3. 二分查詢
ps:二分查詢又稱折半查詢,是在有序陣列查詢中用到的較為頻繁的一種演算法,優點是比較次數少,查詢速度快,平均效能好;其缺點是要求待查表為有序表,且插入刪除困難。
3.1 非遞迴實現12
3456
78910
1112
1314
15function
binary_search(arr, key)
else
if
(key > arr[mid])
else
if
(key < arr[mid])
}
return
-1;
};
3.2 遞迴實現12
3456
78910
11function
binary_search2(arr, low, high, key)
js 常見操作
原始資料型別 symbol 表示獨一無二的值,最大的用法是用來定義物件的唯一屬性名 let sy symbol key1 寫法1 let syobject syobject sy kk console.log syobject 寫法2 let syobject console.log syobjec...
js陣列常見操作
var arr new array 1 新增元素 arr.push a arr.push b arr.push c 乙個引數 arr.push d e 二個引數 arr.push f g 引數為陣列 2 刪除元素 1 刪除元素方式一 arr.splice 陣列下標,刪除個數 陣列下標從0開始 刪除個...
JS 常見排序演算法
氣泡排序 function bubblesort myarray return myarray function swap myarray,p1,p2 var myarray 3 44,38 5,47 15,36 26,27 2,46 4,19 50,48 var result bubblesort...