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. Maven多项目继承:dependencyManagement scope=import

    maven的多项目结构中,可以使用parent定义起父项目,从而从父项目中继承依赖等属性.但是美中不足,maven只能单继承,即一个项目只能使用parent标签定一个父级项目. maven2.9之后的 ...

  2. git 远程分支回滚

    git代码库回滚: 指的是将代码库某分支退回到以前的某个commit id [本地代码库回滚]: git reset --hard commit-id :回滚到commit-id,讲commit-id ...

  3. 使用xheditor时 cloneRange错误 ext.net

    使用ext.net 加  xheditor时,一直报 cloneRange错误. 于是 按照说明但独使用xheditor  ,检查无错,正常使用, 因此排除版本问题. <ext:panel ru ...

  4. 京东饭粒捡漏V1.1.0

    20180624 更新 V1.1.01.解决进程残留问题:2.加入急速下单模式: 功能介绍1.京东商城专用,支持饭粒模式下单,自己获得京豆返利 2.捡漏模式:帮助用户监控抢购商品,有库存的时候进行抢单 ...

  5. 基于STM8的UART发送和中断接收---STM8-第二章

    1. 综述 UART的基础知识,通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器. 做软件开发的人都 ...

  6. 如何成功打造一款中台(PaaS)产品

    现如今,很多互联网公司在向“大中台,小前台”方向靠拢,通过打造高度可用.高度可定制的中台,来支撑前台业务的快速发展.个性化功能定制.但在构建中台产品(即所谓公司级平台)的时候,如何能成功让一款产品从0 ...

  7. keil_v5生成.bin文件方法

    按ALT+F7,打开如下对话框 如上图,选择 After Build/ Rebuild下的Run#1,输入: C:/keil_v5/ARM/ARMCC/bin/fromelf.exe -bin -o ...

  8. docker学习记录

    Container 容器是一种基础工具, 泛指任何容纳其他物品的工具, 可以部分或者完全封闭,被用于容纳,储存, 运输物品, 物体可以放置在容器中, 而容器可以保护内容物 1 Docker Objec ...

  9. 在VS2015中用C++编写可被C#调用的DLL

    VS2015用C++创建动态库DLL步骤如下: (1)启动VS2015-->文件-->新建-->项目,按图二进行选择,选择Win32项目,弹出创建窗口,如第二张图.注意.net版本根 ...

  10. mysql数据库的理解

    1.索引结构原理: 普通的Btree(binary search tree)就是二叉树,如下图 B+ Tree索引类型则是二叉树的升级版,每个节点存的是 <num ,最后存排序的ROWID Ha ...