1. 计算字符串中某个字符的个数
var aaa='1231011211009181';
function count(str){
var arr=[];
for(var i=0;i<str.length;i++){
if(str.charAt(i)=='1'){
arr.push(str.charAt(i));
}
}
return arr.length;
}
console.log(count(aaa));
2.数组去重
var arr=[1,1,1,2,2,1,3,1,3,4,5,6];
function arrDel(arr){
var result=[],
obj={};
for(var i in arr){
if(!obj[arr[i]]){ //判断对象的属性
result.push(arr[i]);
obj[arr[i]]=1;
}
}
return result;
}
console.log(arrDel(arr));
3. 数组冒泡排序
function bubbleSort(arr){
for(var i=0;i<arr.length-1;i++){
for(var j=i+1;j<arr.length;j++){
//获取前一个值和后一个值进行比较
if(arr[i]>arr[j]){
//创建中间变量 交换值
var cur=arr[j];
arr[j]=arr[i];
arr[i]=cur;
}
}
}
return arr;
}
4.数组快速排序
function quickSort(arr){
if(arr.length<=1){return arr};
//选基准值,可以是任意位置
var key=Math.floor(arr.length/2);
var keyValue=arr.splice(key,1)[0];
//定义两个数组
var left=[];
var right=[];
for(var i=0;i<arr.length;i++){
//小于基准的方左边、大于右边
if(arr[i]<keyValue){
left.push(arr[i]);
}else{
right.push(arr[i]);
}
}
//递归
return quickSort(left).concat([keyValue],