// 1.遍历比较var arr =[6,10,66,55,7,8];
var max = arr[0];for(var i =1,i< arr.length;i++){if(arr[i]>max){
max = arr[i]}}
console.log(max)// 2.三元表达式functiongetMax(num1, num2, num3){return num1 > num2 ?(num1 > num3 ? num1 : num3):(num2>num3? num2:num3)}
console.log(getMax(3,5,9));
2.筛选数组
// 筛选出大于2000的数据var arr =[1500,1200,2000,2100,1800];var newArr =[];for(var i =0; i < arr.length; i++){if(arr[i]<2000){// 或用newArr[newArr.length] = arr[i];
newArr.push(arr[i]);}}
console.log(newArr);
3.数组排序
var arr1 =[13,4,77,1,7];
arr1.sort(function(a, b){// return a - b; 升序的顺序排列return b - a;// 降序的顺序排列});
console.log(arr1);
4.翻转数组
var arr =['pink','red','blue'];// 1.reverse()
arr.reverse();
console.log(arr);// 2.数组长度递减var newArr =[]for(var i = arr.length -1; i >=0; i--){
newArr[newArr.length]= arr[i]}
console.log(newArr);// 3.新数组递增var j =0for(var i = arr.length -1; i >=0; i--){
newArr[j]= arr[i];
j++;}
console.log(newArr);// 4.用while循环var newArr =[];var i = arr.length -1;while(true){if(i <0){break;}else{
newArr[newArr.length]= arr[i];
i--;}}
console.log(newArr);
5.数组去重
functionunique(arr){var newArr =[];// 遍历旧数组for(var i =0; i < arr.length; i++){// 拿着旧数组的元素 到 新数组中去判断,是否存在if(newArr.indexOf(arr[i])===-1){// 如果不存在,就添加到新数组中
newArr.push(arr[i]);}}return newArr;}var demo =unique(['blue','green','blue'])
console.log(demo);
6.统计出现最多的字符和次数
// 1.第一种方式var str ='abcoefoxyozzopp';var o ={};for(var i =0; i < str.length; i++){var chars = str.charAt(i);// charAt用于返回指定索引处的字符,chars所有对应索引if(o[chars]){
o[chars]++;// 多次的o.o=4}else{
o[chars]=1;// 一次的,相当于o.a = 1}}
console.log(o);// 2. 遍历对象var max =0;var ch ='';for(var k in o){// k 得到是 属性名// o[k] 得到的是属性值if(o[k]> max){
max = o[k];
ch = k;}}
console.log(max);
console.log('最多的字符是'+ ch);// 1.第二种方式var str ="oabcoefoxyozzopp";var index = str.indexOf('o');var num =0;while(index !==-1){
console.log(index);
num++;
index = str.indexOf('o', index +1);}
console.log('o出现的次数是: '+ num);
7.合并数组
var arr =[1,2,3,4,5];var arr1 =[6,7,8,9,10];
var newArr =[];for(var i =0; i < arr.length; i++){
newArr[newArr.length]= arr[i];}for(var i =0; i < arr1.length; i++){
newArr[newArr.length]= arr1[i];}
console.log(newArr);
8. 数组最大值最小值
functiongetMaxAndMin(arr){var max =+arr[0];var min =+arr[0];for(var i =1; i < arr.length; i++){if(max < arr[i]){
max = arr[i];}if(min > arr[i]){
min = arr[i];}}alert(`最大值是${max},最小值是${min}`);}getMaxAndMin([1,2,3,4,5]);
9.数组去零
// 方式一:将不为0的值存入一个新的数组var arr =[4,0,7,9,0,0,2,6,0,3,1,0];var newArr =[];for(var i =0; i < arr.length; i++){if(arr[i]!=0){
newArr.push(arr[i]);}}
console.log(newArr);// 方式二:将原数组中0去掉后形成一个不包含 0 的新数组var arr =[2,0,6,1,77,0,52,0,25,7];var newArr =[];for(var i =0; i < arr.length; i++){if(arr[i]!=0){
newArr[newArr.length]= arr[i];}}
console.log(newArr);
10.数组分割
var arr =["导师","班长","班主任","组长"];var str ="";for(var i =0; i < arr.length; i++){if(i != arr.length -1){
str += arr[i]+"|";// 不加符号默认为,}else{
str += arr[i];}}
console.log(str);
11.数组中数据所在位置的索引
var arr =[5,6,8,9,10,8];// 寻找8在数组中的位置var count =0;// 查找次数for(var i =0; i < arr.length; i++){if(arr[i]==8){
console.log(i);}else{
count++;// 如果该元素不在数组中,满足下面条件if(count == arr.length -1){alert("没找到该元素");}}}
12.数组数据截取
var arr2 =['red','green','blue','purple','skyblue',1,2,3];var newArr =[]while(true){if(arr2.length ==0){break;}var res = arr2.splice(0,3);
newArr.push(res)}
console.log(newArr);
13.格式化日期 时分秒
// 格式化日期 时分秒functiongetTimer(){var time =newDate();var h = time.getHours();
h = h <10?'0'+ h : h;var m = time.getMinutes();
m = m <10?'0'+ m : m;var s = time.getSeconds();
s = s <10?'0'+ s : s;return h +':'+ m +':'+ s;}
console.log(getTimer());