目录
1.冒泡排序
2.插入排序
3.快速排序
4.获取数组中最大值
5.数组去重
6.十进制转二进制
7.将英文句子中的每个单词首字母转为大写
8.每个单词后添加逐渐增加的数字
9.删除开头或结尾空字符串
10.格式化
1.冒泡排序
function bubbleSort(arr){
//r从1开始,到<length结束
for(var r=1;r<arr.length;r++){
for(var i=0;i<arr.length-r;i++){
if(arr[i]>arr{i+1]){
//交换当前元素和下一个元素的位置
//方法1:a+=b;b=a-b;a-=b;
//方法2:b=[a,a=b][0];
arr[i+1]=[arr[i],
arr[i]=arr[i+1]][0];
}
}
}
}
2.插入排序
function insertSort(arr){
for(var i=1;i<arr.length;i++{
var temp=arr[i];
var p=i-1;
while( temp < arr [ p ] && p > = 0){
arr[ p+1 ] =arr [ p ];
p--;
}
arr [ p+1 ] =temp;
}
}
3.快速排序
function quickSort(arr){
if(arr.length<=1){
return arr;
}else{
var c=Math.floor(arr.length/2);
var center=arr.splice(c,1)[0];
var left= [],right=[];
for (var i = 0; i < arr.length; i ++){
if (arr[i] <= center){left.push(arr[i])
}else{right.push(arr[i])}
}
return quickSort(left)
.concat(center,quickSort(right));
}
}
4.获取数组中最大值
var arr=[1,3,5,7,8,9,1,2,5,4,];
function getMax(arr){
for(var i=0,max=arr[0];
i<arr.length;
arr[i]>max&&(max=arr[i]),i++);
return max;//返回max
}
console.log(getMax(arr));//4
5.数组去重
方法一:
var arr=["a","b","c","a","b","a","b","c",];
function unique1(arr){
//遍历arr中每个元素,同时声明空数组
for (var i=0, uarr=[]; i<arr.length; i++){
//遍历uarr中每个元素
for (var j=0; j<uarr.length; j++){
//如果uarr中当前元素等于arr中当前元素
if(uarr [j] == arr[i] {
//就退出循环
break;
}
}
//将arr中当前元素加入uarr中
j==uarr.length&&(uarr[j]=arr[i]);
}
//返回uarr
return uarr;
}
方法二:
function unique2(arr){
for (var i=0, hash=[]; i<arr.length; i++){
if(hash[arr[i]]===undefined){
hash[arr[i]]=1;
}
}
i=0;
var(keys[i++] in hash);
return keys;
}
6.十进制转二进制
function dec2bin(dec){
var bin=[]; //声明空数组bin
while(dec>0){ //只要dec>0,就反复
bin.unsgift(dec%2);
dec=parseInt(dec/2);
}
return bin.join("");
}
7.将英文句子中的每个单词首字母转大写
var str="we two who and who";
//\b[a-z]+\b
str=str.replace(/\b[a-z]+\g,
function(kwd){
return kwd.toUpperCase();
}
);
8.每个单词后面添加逐渐增加的数字
var str="we two who and who";
var i=5;
str = str.replace(/\b[a-z]+\b/g,
function(kwd){
return kwd+i++;
}
);
9.删除开头或结尾空字符串
function Itrim(str){
return str.replace(/^\s+/,"");
}
function rtrim(str){
//"\t前 端\t"=>"\t前 端"
return str.replace(/^\s+$/,"");
}
function trim(str){
//"\t前 端\t"=>"\前 端"
return str.replace(/^\s+|\s+$/g,"");
}
10.格式化
var date="20190603一下1947";
date=date.replace(
/(\d{4}(\d{2}(\d{2})
([\u4e00-\u9fa5])
([\u4e00-\u9fa5])(\d{2})(\d{2})/,
"$1年$2月$3日 星期$4$5午 $6:$7");