求数组的和,最大值,最小值。运用冒泡排序,插入排序。

初学javascript:求数组的和,最大值,最小值。冒泡排序,插入排序。

1.普通方法

<!DOCTYPE html>
<html>
<head>
	<title>数组求值1</title>
	<meta charset="utf-8" />
	<script type="text/javascript">
        window.onload = function() {
            //传入一个数组
            function getSumMaxMin(arr){
                //定义3个变量sum,max,min分别用来存放数组的和,最大值,最小值。
                var sum = 0;
                var max = arr[0];
                var min = arr[0];
                //遍历数组
                for(var i=0;i<arr.length;i++){
				    sum += arr[i];
				    if(max<arr[i]){
				        max = arr[i];
				    }
				    if(min>arr[i]){
				        min = arr[i];
				    }
                }
                //以数组的形式返回结果
                var arrRe = [sum,max,min];
                return arrRe;
            }
            //测试:新定义一个数组result承接返回的数组
            var result = getSumMaxMin([0,6,1,8]);
            //控制台输出结果
            console.log("数组的和:"+result[0]);
            console.log("数组最大值:"+result[1]);
            console.log("数组最小值:"+result[2]);
        }
	</script>
</head>
<body>
</body>
</html>

2.用冒泡排序的方式

<!DOCTYPE html>
<html>
<head>
	<title>数组求值2</title>
	<meta charset="utf-8" />
	<script type="text/javascript">
        window.onload = function() {
            //传入一个数组
            function getSumMaxMin(arr){
                //冒泡排序(从小到大排列)
                for(var i=0;i<arr.length;i++){
				    for(var j=i;j<arr.length-i;j++){
                        if(arr[j]>arr[j+1]){
                            var a = arr[j];
                            arr[j] = arr[j+1];
                            arr[j+1] = a;
                        }
                    }
                }
                //再求和
                var sum=0;
                for(var i=0;i<arr.length;i++){
                    sum += arr[i];
                }
                //以数组的形式返回结果
                var arrRe = [sum,arr[arr.length-1],arr[0]];
                return arrRe;
            }
            //测试:新定义一个数组result承接返回的数组
            var result = getSumMaxMin([0,6,1,8]);
            //控制台输出结果
            console.log("数组的和:"+result[0]);
            console.log("数组最大值:"+result[1]);
            console.log("数组最小值:"+result[2]);
        }
	</script>
</head>
<body>
</body>
</html>

3.用插入排序的方式

<!DOCTYPE html>
<html>
<head>
	<title>数组求值3</title>
	<meta charset="utf-8" />
	<script type="text/javascript">
        window.onload = function(){
            //传入一个数组
            function getSumMaxMin(arr){
                //插入排序(从小到大排列)
                for(var i=1;i<arr.length;i++){
                    for(var j=i;j>0;j--){
                        if(arr[j-1]>arr[j]){
                            [arr[j-1],arr[j]] = [arr[j],arr[j-1]];
                        }
                    }
                }
                //再求和
                var sum=0;
                for(var i=0;i<arr.length;i++){
                    sum += arr[i];
                }
                //以数组的形式返回结果
                var arrRe = [sum,arr[arr.length-1],arr[0]];
                return arrRe;
            }
            //测试:新定义一个数组result承接返回的数组
            var result = getSumMaxMin([0,6,1,8]);
            //控制台输出结果
            console.log("数组的和:"+result[0]);
            console.log("数组最大值:"+result[1]);
            console.log("数组最小值:"+result[2]);
        }
	</script>
</head>
<body>
</body>
</html>

4.结果

在这里插入图片描述

发布了13 篇原创文章 · 获赞 2 · 访问量 5382

猜你喜欢

转载自blog.csdn.net/weixin_44212397/article/details/103430233