js-tips
常用的一些js小技巧,收录中…
一、算法
q1:判断一个单词是否为回文
回文是指把相同的词汇或句子,在下文中调换位置或颠倒过来,产生首尾回环的情趣,叫做回文,也叫回环
核心代码:
function checkPalindrom(str) {
return str === str.split('').reverse().join('');
}
q2:数组去重
es6实现:
var new_arr = [...new Set(old_arr)];
es5实现:
var reNewArr = function(arr) {
let new_arr = [];
for (let i = 0, len = arr.length; i < len; i++) {
if (!(new_arr.indexOf(arr[i]) > -1)) {
new_arr.push(arr[i]);
}
}
return new_arr;
}
q3:排序算法
冒泡排序:
function bubbleSort(arr){
if(arr.length<=1) {
return arr;
}
for (let i = 0, len = arr.length; i < len - 1; i++) {
for (let j = i + 1; j < len; j ++) {
if (arr[i] < arr[j]) { // 此处控制升序或者降序
let item = arr[i];
arr[i] = arr[j];
arr[j] = item;
}
}
}
return arr;
}
快速排序:
function quickSort(arr) {
if(arr.length<=1) {
return arr;
}
let left_arr = [],
right_arr = [],
q = arr[0],
len = arr.length;
for (let i = 1; i < len; i++){
if(arr[i] > q) { // 此处控制升序或者降序
right_arr.push(arr[i])
} else {
left_arr.push(arr[i])
}
}
return [].concat(quickSort(left_arr),[q],quickSort(right_arr));
}
q4:中国所有合法手机号码的正则表达式
/^1(?:3\d|4[4-9]|5[0-35-9]|6[67]|7[013-8]|8\d|9\d)\d{8}$/
感谢阅读 thx~
本文链接:https://627235655.github.io/2018/06/19/js-tips/