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. 搞懂iobuffer就得先学习bytebuffer

    ByteBuffer前前后后看过好几次了,实际使用也用了一些,总觉得条理不够清晰. <程序员的思维修炼>一本书讲过,主动学习,要比单纯看资料效果来的好,所以干脆写个详细点的文章来记录一下. ...

  2. rails 布署

    验证配置的执行deploy 全部准备好后,先试试我们的 recipe,以便让 Capistrano在服务器上创建初始的目录结构.从你的应用根目录执行下列命令: /repo/ 在这个目录的config又 ...

  3. CURL 支持 GET、PUT、POST、DELETE请求

    一个方法解决所有的 curl 请求的问题. <?php function curlTypeData( $method, $url, $data=false, $json=false ) { $d ...

  4. mysql循环插入千万级数据

    mysql使用存储过程循环插入大量数据,简单的一条条循环插入,效率会很低,需要考虑批量插入. 测试准备: 1.建表: CREATE TABLE `mysql_genarate` ( `id` ) NO ...

  5. LeetCode——295. Find Median from Data Stream

    一.题目链接: https://leetcode.com/problems/find-median-from-data-stream 二.题目大意: 给定一段数据流,要求求出数据流中的中位数,其中数据 ...

  6. @Transactional的正确打开方式

    经常用到事务管理,可还是不小心会写错,导致事务没有生效,这里总结下. 正确的代码例子如下所示,框架是使用spring+mybatis的,有些配置的就不贴出来了. TestController2: pa ...

  7. 微信小程序中的组件使用2

    需求    上面两个页面是同一个小程序的不同页面,两个页面中都是用到了label,有相似的地方,但是也有不同之处,这个时候,如果我们想要将这些label做出组件,然后复用,有该怎么做呢? 基础组件 首 ...

  8. S/Kademlia2007 翻译

    S/Kademlia:实现安全Key路由的可行方法 摘要 安全性是完全分散式P2P系统中的常见问题. 尽管关于如何创建一个安全的基于Key的路由协议存在几点建议,但一个可行的方法仍然无人参与. 在本文 ...

  9. 阿里云服务器 centos7 中继邮箱+转发服务 详细配置

    阿里云centos7 邮箱转发服务配置 一.文档编写目的: 网络拓扑图: 阿里云服务器屏蔽掉25端口后,内网服务器如何通过跳板机发送邮件到外网邮箱. 如果是可联网的阿里云机器,可以直接配置mailx使 ...

  10. docker 命令汇集

    1,查看容器 docker ps [-a] #-a表示全全部否者仅显示运行的 2,登录容器 docker exec -it [containerId] /bin/bashdocker exec -it ...