冒泡排序
function bubbleSort(arr){
//外层循环控制轮数 r 从0 开始到arr.length
for(var r = 0; r <arr.length;r ++){
//内层循环控制遍历每个元素i 从0开始,到arr.length-r
for(var i = 0; i < arr.length-r;i++){
//如果arr中i位置的值>i+1位置的值
if(arr[i] > arr[i+1]){
//交换arr中i位置和i+1位置的值
arr[i] ^= arr[i+1];
arr[i+1] ^= arr[i];
arr[i] ^= arr[i+1];
}
}
}
}
var arr = [2,5,7,3,6,4,1];
console.log(String(arr));
bubbleSort(arr);
console.log(String(arr));
arr.sort()
自定比较函数器
function cmp(a,b){
return a-b;
}
// 将比较器函数作为对象传入sort 方法中
arr.sort(cmp);//直接写cmp,不能带();
console.log(arr);
var arr1 = [9,8,7,6,5,4,3,2,1,0];
arr1.sort(function(a,b){return a-b});//匿名函数
console.log(arr1);
栈
var arr = [];
for(var i = 1; i<= 5;
i++){
//arr.push 在数组的末尾添加新的元素
arr.push("乘客"+i);
console.log(String(arr));
}
while(arr.length>0){
//arr.pop 删除并返回数组的最后一个元素
var last = arr.pop();
console.log(last+"下车");
console.log(String(arr));
}
// arr.shift()删除数组开头的第一个元素,并返回第一个元素
// arr.unshift()向数组的开头添加一个或更多元素,并返回新的长度
var arr2 =[];
for(var i = 1; i <= 4; i++){
arr2.unshift("乘客"+i);
console.log(String(arr2));
}
var first = arr2.shift();
console.log(first+"下车");
}
var phone = 5;
var queue = [];
for(var i = 1 ; i<=5;i++){
queue.push("顾客:"+i);
}
console.log(String(queue));
var first = queue.shift();
phone--;
console.log(first+"购买成功");
console.log(String(queue));
}
随机验证码
<button onclick="GetCode(6)">验证码</button>
<script>
var char = [];
for(var u = 97;u<=122;u++){
//将unicode码为i的字符转换为字符存放到char中
char.push(String.fromCharCode(u));
}
char.push(String.fromCharCode(u));
}
char.push(n);
}
return char;
}
function GetCode(count){
var char = init();
for(var i = 0,code=[],hash=[];i<count;i++){
//随机数不重复
//在0~61之间随机生成一个数r
do{
var r = parseInt(Math.random()*62);
}while(hash[char[r]] != undefined);
//得到的随机r是在char中不重复的字符下标
hash[char[r]] = true;
//将char中r位置的字符追加到code数组中
code.push(char[r]);
}
console.log(code.join(""));
return code.join("");
}
找出最多的元素及最多的次数
var str = "1ssss2fasfaf3adad4aa66";
str = str.replace(/[asdf]/gi,"");
console.log(str);
function fun(){
var a = "zzzxxxqqwwwwweeerrrrrrrr";
//在result数组中有以a[i]为下标的元素,则给元素+1,
for(var i = 0 ,arr = [];i<a.length;i++){
if(arr[a[i]]){
arr[a[i]]++;
}else{//如果reuslt数组没有a[i]
arr[a[i]] = 1;
}
}
console.log(arr);
//获取arr中最大值
var max = 0,char = '';
for(var key in arr){
//如果当前元素比max大
if(arr[key] > max){
max = arr[key];
//讲当前元素的下标记录到char
char = key;
}
}
console.log("最多的是:"+char);
console.log("次数是:"+max);
}fun();