rs = require("readline-sync");
let arr = [];
console.log("请输入数组的长度:");
let arr_length = rs.question() - 0;
console.log("请添加数组中的元素:");
for (let index = 0; index < arr_length; index++) {
    arr[index] = rs.question() - 0;
}
console.log("创建的数组为:");
console.log(arr);
console.log("请对数组选择操作:1.求和 2.求平均值 3.最大值 4.最小值 5.数组逆序 6.数组去重 0.退出");
let option = rs.question() - 0;
let sum = 0,  arr_max = arr[0], arr_min = arr[0];
arr.forEach(element => {
    sum += element;
});
switch (option) {
    case 1:
        console.log(sum);
        break;
    case 2:
        console.log(sum / arr.length);
        break;
    case 3:
    for (let index = 1; index < arr.length; index++) {
        if (arr_max < arr[index]) {
            arr_max = arr[index];
        }
    }
        // for (let index = 1; index < arr.length - 1; index++) {
        //     arr_max = arr[index + 1] = Math.max(arr[index], arr[index + 1]);
        // }
        console.log(arr_max);
        break;
    case 4:
    for (let index = 1; index < arr.length; index++) {
        if (arr_min > arr[index]) {
            arr_min = arr[index];
        }
    }
        // for (let index = 1; index < arr.length - 1; index++) {
        //     arr_min = arr[index + 1] = Math.min(arr[index], arr[index + 1]);
        // }
        console.log(arr_min);
        break;
    case 5:
        arr.reverse();
        // for (let index = 0; index <arr.length/2; index++) {
        //     let t=arr[index];
        //     arr[index]=arr[arr.length-1-index];
        //     arr[arr.length-1-index]=t;
        //  }
        console.log(arr);
        break;
    case 6:
        let arr_new = new Set(arr);
        // let arr_new = [], index_new = 0;
        //    for (let i = 0; i < arr.length-1; i++) {
        //       for (let j = i+1; j < arr.length; j++) {
        //          if (arr[i]==arr[j]) {
        //         delete arr[i];
        //          }
        //       }
        //    }
        //    arr.forEach(element => {
        //        if (typeof element=="number") {
        //            arr_new[index_new]=element;
        //            index_new++;
        //        }
        //    });
        console.log(arr_new);
        break;
    case 0:
        break;
    default:
        console.log("输入有误,程序结束");
        break;
}
console.log(1+undefined)

JS创建一个数组1.求和 2.求平均值 3.最大值 4.最小值 5.数组逆序 6.数组去重 0.退出的更多相关文章

  1. Shell 脚本循环遍历日志文件中的值进行求和并计算平均值,最大值和最小值

    本文为博主原创,转载请注明出处: 最近在进行压测,为了观察并定位服务性能的瓶颈,所以在代码中很多地方加了执行耗时的日志,但这种方式只能观察,却在压测的时候,不太能准确的把握代码中某些方法的性能,所以想 ...

  2. java代码数组求平均值,最大值,最小值

    (测试类) package com.badu; public class Tste { public static void main(String[] args) { Class5 sa=new C ...

  3. Linux下的计算命令和求和、求平均值、求最值命令梳理

    在Linux系统下,经常会有一些计算需求,那么下面就简单梳理下几个常用到的计算命令 (1)bc命令bc命令是一种支持任意精度的交互执行的计算器语言.bash内置了对整数四则运算的支持,但是并不支持浮点 ...

  4. C语言:统计整型变量m中各数字出现的次数,-去掉一个最高分和一个最低分,然后求平均值,(注意最低分和最高分可能有多个数并列)

    //统计整型变量m中各数字出现的次数,并存放在数组a中,其中,a[0]存放0出现的次数,a[1]存放1出现的次数. #include <stdio.h> ]) { int i; ; i&l ...

  5. NSArray 快速求和、平均值、最大值、最小值

    在iOS开发中我们经常遇到一个需求,求一个数组的所有元素的和,最大值,最小值或者平均值,有的开发者可能第一想到的是for循环遍历求解,其实苹果提供了更简便的方式.如下: NSArray *arr = ...

  6. 使用 SVG 和 JS 创建一个由星形变心形的动画

    序言:首先,这是一篇学习 SVG 及 JS 动画不可多得的优秀文章.我非常喜欢 Ana Tudor 写的教程.在她的教程中有大量使用 SVG 制作的图解以及实时交互 DEMO,可以说教程的所有细枝末节 ...

  7. 用Backbone.js创建一个联系人管理系统(五)

    原文: Build a Contacts Manager Using Backbone.js: Part 5 这是这系列教程最后一部分了. 之前所有的增删改都在前端完成. 这部分我们要把Contact ...

  8. 用Backbone.js创建一个联系人管理系统(一)

    原文 Build a Contacts Manager Using Backbone.js: Part 1 在这个教程里我们将会使用Backbone.js,Underscore.js,JQuery创建 ...

  9. 用Backbone.js创建一个联系人管理系统(二)

    欢迎大家回来继续这一教程,第一部分我们学习了model,collection和view在Backbone中的 基本用法,还有怎么样用主视图去绑定collection去渲染出每个Contact. 这部分 ...

随机推荐

  1. 1.搭建Angular2项目

    简述:搭建angular2的开发环境,网上已经有许多教程,不过都是window系统下的教程,我本人使用的是linux系统,搭建环境的过程也稍微比前者麻烦了一点,可参考本人的另一篇文章Linux系统下安 ...

  2. Windows Server 2008 R2 /2012 修改密码策略

    今天建了域环境,在添加新用户的时候,发现用简单的密码时域安全策略提示密码复杂度不够,于是我就想在域安全策略里面把密码复杂度降低一点. 问题:    在“管理工具 >> 本地安全策略 > ...

  3. CentOS7.3安装Go运行和开发环境

    https://blog.csdn.net/warnerwu/article/details/73825105

  4. vue-cli环境配置

    1.安装npm 从node.js官网下载并安装node node -v 命令,查看node的版本,若出现相应的版本号,则说明你安装成功了. npm包管理器,是集成在node中的,所以安装了node也就 ...

  5. MySQL 数据库索引

    数据库索引 在数据库中.索引使数据库程序无须对整个表进行全表扫描就可以在其中找到所需的数据: 数据库中的索引是某个表中一列或者若干列值的集合.以及物理标识这些值的数据页的逻辑指针清单: MySQL 索 ...

  6. 2019春招——Vivo大数据开发工程师面经

    Vvio总共就一轮技术面+一轮HR面,技术面总体而言,比较宽泛,比较看中基础,面试的全程没有涉及简历上的东西(都准备好跟他扯项目了,感觉是抽取的题库...)具体内容如下: 1.熟悉Hadoop哪些组件 ...

  7. MongoDB监控(常见监控方法及profile)-temp

    为什么要监控? 监控及时获得应用的运行状态信息,在问题出现时及时发现. 监控什么? CPU.内存.磁盘I/O.应用程序(MongoDB).进程监控(ps -aux).错误日志监控 1.4.1 Mong ...

  8. Thinkpad 小红点飘移的不完美解决办法

    环境:T420 BIOS1.49 windows7 x64 对硬盘执行写入操作,比如说建立一个空白记事本,每次飘移的时候,就alt+tab切到记事本,随便输入一个字符,ctrl+s保存,搞定.

  9. New Journey Prepare

    1. 车载USB充电器. 2. 轮胎检测,备胎充气. 3. 给刹车片加润滑油. 3. 给娃办身份证. 4. 取公积金. 5. 入职准备材料.

  10. mfc添加自定义事件

    1.在对话框的头文件里面添加声明函数: afx_msg void OnStnClickedPicStop(); 2.在对话框的源文件添加 BEGIN_MESSAGE_MAP(CPcEn3dTestDl ...