<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<script>
//求一组数中的所有数的和 和平均值
/* var arr = [10,20,30,10];
var len = arr.length;
var sum = arr[0];
var avg;
for(var i =1;i<len;i++){
sum += arr[i];
}
avg = sum/len;
console.log(sum+"/"+len);
console.log(avg);*/
/* var arr = [11,2,31,1,4,134,1,41,42,131,434];
var sum = arr[0];//获取到数组第一个索引的值
var avg;
for(var i=1;i<arr.length;i++){//因数组中第一个值已被取出 所以直接从索引为1开始 因此i=1;
sum += arr[i];//求数组中元素的和
}
avg = sum/arr.length;//除以数组的长度 求取平均值
console.log(sum+"/"+arr.length);
console.log(avg);*/
//求一组数中的最大值和最小值,以及所在位置
/* var arr = [1,2,4,5,6];
var max = arr[0];//先取出索引为0的值 之后用于与后面的值比较
var maxIndex = 0;//因max 赋值为索引为0的值 索引定义最大值得变量开始值也为0
var min = arr[0];//先取出索引为0的值 之后用于与后面的值比较
var minIndex = 0;//因min 赋值为索引为0的值 索引定义最大值得变量开始值也为0
for(var i =0;i<arr.length;i++){//因数组第一个值已被取出 所以从1开始
//(最大值)判断当max值小于arr[i]时,将arr[i]赋值给max 索引值等于i
if(max<arr[i]){
max = arr[i];
maxIndex = i;
}
//(最小值)
if(min>arr[i]){
min = arr[i];
minIndex = i;
}
}
/!* console.log("最大值"+max);
console.log("最大值索引"+maxIndex);
console.log('最小值'+min);
console.log('最小值索引'+minIndex);
*!/
console.log("最大值"+max);
console.log("最大值索引"+maxIndex);
console.log("最小值"+min);
console.log("最小值索引"+minIndex);*/
//将字符串数组用|或其他符号分割
/* var arr = ["流水","蜻蜓","浮云"];
var str = arr[0];
var part = '|';
for(var i =1;i<arr.length;i++){
str+=part+arr[i];
}
console.log(str);*/
/* var arr = ['数','时刻是经典款','随便'];
var str = arr[0];
var part = '❤';
for(var i =1;i<arr.length;i++){
str += part + arr[i];
}
console.log(str);*/
//将数组中值为0的去掉,不为0的存入新数组
/* var arr = ["我的",0,0,0,"他的",1,2,3,0,"谁的"];
/!* alert(arr);
alert(arr.length);*!/
var newArr = [];
for(var i=0;i<arr.length;i++){
if(arr[i]!=0){
newArr[newArr.length] = arr[i];
}
}
console.log(newArr);*/
/* var arr = ["我的",0,0,0,"他的",1,2,3,0,"谁的"];
var newArr = [];
for(var i=0;i<arr.length;i++){
if(arr[i]!=0){
newArr[newArr.length] = arr[i];
}
}
console.log(newArr);*/
/*
var arr = [1,2,4,23,4,9,5,8,3,0,39,0];
var newArr = [];
for(var i =0;i<arr.length;i++){
if(arr[i]!=0){
newArr[newArr.length] = arr[i];
}
}
console.log(newArr);*/
//翻转数组
/* var arr = [1,2,4,23,4,9,5,8,3,0,39,0];
console.log(arr);
var newArr = [];
for(var i = arr.length-1;i>=0;i--){
newArr[newArr.length] = arr[i];
}
console.log(newArr);*/
//冒泡排序,从小到大
/* var arr = [1,2,4,23,4,9,5,8,3,0,39,0];
console.log(arr);
var m = 0;
var n = 0;
//比较的轮数
for(var i=0;i<arr.length-1;i++){
//控制比较结束之后直接跳轮数的开关
var onOff = true;
//比较的次数循环,且每轮循环之后都会有元素不再比较所以减i
for(var j =0;j<arr.length-1-i;j++){
//判断什么时候进行位置调换
if(arr[j]>arr[j+1]){
var temp = arr[j];//将上一个变量存起来
arr[j] = arr[j+1];
arr[j+1] = temp;
//默认执行继续
onOff = false;
}
n++;
}
m++;
if(onOff){
break;
}
}
console.log(arr);*/
var arr = [1,2,345,3,25,56,77,89,990,0];//定义一个数组
console.log(arr);
var m = 0;//比较次数的轮数
var n = 0;//比较的次数
//第一次循环控制比较次的轮数
for(var i =0;i<arr.length-1;i++){
//定义一个开关 控制比较次数的判断不再执行时跳数比较循环
var onOff = true;
//定义比较次数的循环
for(var j=0;j<arr.length-1-i;j++){
//判断什么时候进行位置互换
if(arr[j]<arr[j+1]){
var temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
//开关为false 比较继续
onOff = false;
}
n++;//比较次数自增
}
m++;//比较轮数自增
if(onOff){
break;
}
}
console.log("轮数"+m);
console.log("次数"+n);
console.log(arr);
</script>
</body>
</html>