本节作业之数组求和及其平均值、求数组最大值、最小值、数组转换为分割字符串、新增数组案例、筛选数组案例、删除指定数组元素、翻转数组、数组排序(冒泡排序)

news2024/9/22 13:30:32

本节作业之数组求和及其平均值、求数组最大值、最小值、数组转换为分割字符串、新增数组案例、筛选数组案例、删除指定数组元素、翻转数组、数组排序<冒泡排序>

  • 求数组[2,6,1,7,4]里面所有的元素的和以及平均值
  • 求数组[2,6,1,77,52,25,7]中的最大值
  • 求数组[2,6,1,77,52,25,7]中的最小值
  • 将数组['red','green','blue','pink']转换为字符串,并且用|或其它符号分割
  • 新建一个数组,里面存放10个整数(1~10)
  • 将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来,放入新数组
  • 将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉后,形成一个不包含0的新数组
  • 将数组['red','green','blue','pink','purple']的内容反过来存放
  • 冒泡排序

求数组[2,6,1,7,4]里面所有的元素的和以及平均值

// 声明一个求和变量sum
// 遍历这个数组,把里面每个数组元素加到sum里面
// 用求和变量sum除以数组的长度就可以得到数组的平均值
var sum = 0;
var avg = 0;
var arr = [2,6,1,7,4];
for (var i = 0; i < arr.length; i++) {
	// 我们加的是数组元素 不是计数器
    sum += arr[i];
}
avg = sum / arr.length;
// 输入多个变量
console.log(sum,avg);

求数组[2,6,1,77,52,25,7]中的最大值

// 声明一个保存最大元素的变量max
// 默认最大值可以取数组中的第一个元素
// 遍历这个数组,把里面的每个数组元素和max相比较
// 如果这个数组元素大于max就把这个数组元素存到max里面,否则继续下一轮比较
// 最后输出这个max
        
var arr = [2,6,1,77,52,25,7];
var max = arr[0];
// 本身i应该从0开始,但是我们已经让max默认值为第一个元素,故应从第二个开始
for (var i = 1; i < arr.length; i++) {
	if (arr[i] > max) {
    	max = arr[i]
	}
}
console.log('该数组里面的最大值是:' + max);

求数组[2,6,1,77,52,25,7]中的最小值

var arr = [2,6,1,77,52,25,7];
var min = arr[0];
// 本身i应该从0开始,但是我们已经让max默认值为第一个元素,故应从第二个开始
for (var i = 1; i < arr.length; i++) {
	if (arr[i] < min) {
    	min = arr[i]
    }
}
console.log('该数组里面的最小值是:' + min);

将数组[‘red’,‘green’,‘blue’,‘pink’]转换为字符串,并且用|或其它符号分割

// 输出:'red|green|blue|pink|'
// 需要一个新变量用于存放转换完的字符串str
// 遍历原来的数组,分别把里面的数据取出来,加到字符串里面
// 同时在后面多加一个分隔符

var arr = ['red','green','blue','pink'];
var str = '';
var sep = '|'
for (var i = 0; i < arr.length; i++) {
	str += arr[i] + sep;
}
console.log(str);

新建一个数组,里面存放10个整数(1~10)

// 使用循环来追加数组
// 声明一个空数组arr
// 循环中的计数器i 可以作为数组元素存入
// 由于数组的索引号是从0开始的,因此计数器从0开始更合适,存入的数组元素要+1

var arr = [];
for (var i = 0; i < 10; i++) {
	// arr = i; 错误 不要直接给数组名赋值,否则以前的元素都没了
    arr[i] = i + 1; 
}
console.log(arr);

将数组[2,0,6,1,77,0,52,0,25,7]中大于等于10的元素选出来,放入新数组

// 声明一个新的数组用于存放新数据newArr
// 遍历原来的旧数组,找出大于等于10的元素
// 依次追加给新数组newArr

// 方法一:
var arr = [2,0,6,1,77,0,52,0,25,7];
var newArr = [];
var j = 0;
for (var i = 0; i < arr.length; i++) {
	if (arr[i] >= 10) {
    	// newArr[i] = arr[i]; 此写法会产生很多空元素
    	// 新数组索引号应该从0开始 依次递增
    	newArr[j] = arr[i];
        j++;
    }
}
console.log(newArr);

// 方法二:
var arr = [2,0,6,1,77,0,52,0,25,7];
var newArr = [];
// newArr.length就是0,因为刚开始数组是空的
for (var i = 0; i < arr.length; i++) {
	if (arr[i] >= 10) {
    	// newArr[i] = arr[i]; 此写法会产生很多空元素
        // 新数组索引号应该从0开始 依次递增
        newArr[newArr.length] = arr[i];
        /* 1> newArr.length = 0  上式可看做newArr[0] = arr[i];
        2> newArr.length = 1 因为存入了第一个值77 上式可看做newArr[1] = arr[i];
        3> newArr.length = 2 因为存入了第一个值52 上式可看做newArr[2] = arr[i];
        4> newArr.length = 3 因为存入了第一个值25 上式可看做newArr[3] = arr[i]; */
	}
}
console.log(newArr);

将数组[2,0,6,1,77,0,52,0,25,7]中的0去掉后,形成一个不包含0的新数组

// 需要一个新数组用于存放筛选后的数据
// 遍历原来的数组,把不是0的数据添加到新数组里面(此时要注意采用数组名+索引的格式接收数据)
// 新数组里面的个数,用length不断累加

var arr = [2,0,6,1,77,0,52,0,25,7];
var newArr = [];
for (var i = 0; i < arr.length; i++) {
	if (arr[i] != 0) {
    	newArr[newArr.length] = arr[i];
    }
}
console.log(newArr);

将数组[‘red’,‘green’,‘blue’,‘pink’,‘purple’]的内容反过来存放

在这里插入图片描述

// 输出:['purple','pink','blue','green','red']
// 声明一个新数组newArr
// 把旧数组索引号第四个取过来(arr.length - 1),给新数组索引号第0个元素(newArr.length)
// 我们采取递减的方式 i--

var arr = ['red','green','blue','pink','purple'];
var newArr = [];
for (var i = arr.length - 1; i >= 0 ; i--) {
	newArr[newArr.length] = arr[i];
}
console.log(newArr);

冒泡排序

  • 冒泡排序:是一种算法,把一系列的数据按照一定的顺序进行排列显示(从小到大或从大到小)。
    在这里插入图片描述
var arr = [5, 4, 3, 2, 1];
// 外层循环管趟数
for (var i = 0; i <= arr.length - 1; i++) {
	// 内层循环管 每一趟的交换次数
    for (var j = 0; j <= arr.length - i - 1; j++) {
    	// 内部交换两个变量的值 前一个和后一个数组元素相比较
        if (arr[j] > arr[j+1]) {
        	var temp = arr[j];
            arr[j] = arr[j+1];
            arr[j+1] = temp;
        }
    }
}
console.log(arr);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/32942.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux - netstat 查看系统端口占用和监听情况

文章目录功能语法示例显示 tcp&#xff0c;udp 的端口和进程Show both listening and non-listening socketsList all tcp ports.List all udp portsList only listening portsList only listening TCP ports.List only listening UDP ports.List only the listening UNIX port…

Android 性能优化方法论【总结篇】

作为一位多年长期做性能优化的开发者&#xff0c;在这篇文章中对性能优化的方法论做一些总结&#xff0c;以供大家借鉴。 性能优化的本质 首先&#xff0c;我先介绍一下性能优化的本质。我对其本质的认知是这样的&#xff1a;性能优化的本质是合理且充分的使用硬件资源&#x…

分享感恩节联系客户话术

看了一眼在手边的日历&#xff0c;发现今天是11月24日&#xff0c;一年一度的感恩节又到了&#xff0c;不得不感叹时间过得真快&#xff0c;每年十一月的第四个星期四是感恩节。 随着各国多元文化的发展&#xff0c;感恩节也越来越被世界各地传颂&#xff0c;多少都会有一些影…

WANLSHOP 直播短视频种草多用户电商系统源码自营+多商户+多终端(H5+小程序+APP)

WANLSHOP高级版 可用于自营外包项目(多主体)、 可用于外包定制开发项目、 提供开源源码&#xff0c;私有化部署、一款基于 FastAdmin Uni-APP 开发的 多终端&#xff08;H5移动端、APP、微信小程序、微信公众号&#xff09;、多用户商城系统拥有多种运营模式B2B2C/B2C&#xf…

python安装依赖库

一、安装pip 1、打开终端&#xff0c;输入&#xff1a; pip3 install tushare -i https://pypi.douban.com/simple 2、验证是否安装成功 打开终端&#xff0c;输入&#xff1a;pip3 出现以上页面&#xff0c;则安装成功 二、安装flask 1、打开终端&#xff0c;输入&…

mybatis-plus学习笔记

文章目录1 简介2 初始化项目2.1引入pom2.2 引入lombok插件2.3 配置信息2.4 创建实体类2.5 创建mapper2.6 配置注解MapperScan2.7 编写测试类2.8 配置MyBatis日志3 测试基本的CRUD3.1 新增3.2 查询3.3 修改3.4 删除4 自定义动态sql5 Service 层使用mybatis-plus方法5.1 service层…

使用hive进行大数据项目分析

目录 一、首先要创建表&#xff1a;在txt记事本中先输入创建语句备用&#xff0c;创建class1~class5的表。 二、启动hadoop集群&#xff0c;MySQL&#xff0c;hive。 三、创建数据库zhh&#xff0c;用户为zhh&#xff0c;之后将之前写在txt记事本里的创建表class1~class5的命…

浅谈企业信息化安全建设中的三大误区

伴随着信息化的深度建设与应用&#xff0c;与之相伴的信息安全事件也层出不穷&#xff01;很多企业开始关注信息安全问题、关注信息安全建设&#xff0c;大家的共识已经达到前所未有的高度。 虽然许多的企业虽然认识到信息安全的重要性&#xff0c;在实际实施过程中却又无从下…

【附源码】计算机毕业设计JAVA亦心化妆品网站

【附源码】计算机毕业设计JAVA亦心化妆品网站 目运行 环境项配置&#xff1a; Jdk1.8 Tomcat8.5 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; JAVA myba…

【软件测试】我们测试人搭上元宇宙的列车,测试一直在进军......

目录&#xff1a;导读前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09;前言 虚拟宇宙&#xff0…

微信抽奖小程序开发_分享微信抽奖小程序制作的步骤

各位商家在节日期间做活动的时候&#xff0c;都希望用更少的费用去或者更好的宣传和推广的效果。比较常见的就是抽奖活动小程序。无须玩家下载&#xff0c;通过微信扫码或者指定入口就可以参与。 方便&#xff0c;效果又好。 那么,性价比高的抽奖活动小程序怎么做&#xff1f…

使用 MITRE ATTCK 技术保护您的 Active Directory安全

Active Directory (AD域)保存着企业的敏感数据&#xff0c;例如用户凭据、员工的个人信息、安全权限等。正因为如此&#xff0c;AD域很容易成为网络攻击者的目标。恶意攻击者不断升级新的攻击策略&#xff0c;使企业保护AD域安全成为一项挑战。这就是为什么每个企业都必须制定网…

scratch猫捉老鼠 电子学会图形化编程scratch等级考试一级真题和答案解析2022年9月

目录 scratch猫捉老鼠 一、题目要求 1、准备工作 2、功能实现 二、案例分析

【U8+】用友U8成本管理模块下,定额分配标准中无法取到新增存货的数据。

【问题描述】 用友U8&#xff0c;新增存货后&#xff0c; 在【成本管理】模块下&#xff0c;操作【定额分配标准】取数后&#xff0c;无法取到新增存货数据。 【解决方案】 由于没有过多的研究过用友U8的成本管理模块&#xff0c; 以下过程是在处理该问题时&#xff0c;整理的…

java发送邮件

前言 借用hutool工具&#xff0c;实现多账号发送邮件 相关实现 maven依赖 Hutool对所有第三方都是可选依赖&#xff0c;因此在使用MailUtil时需要自行引入第三方依赖。 <dependency><groupId>cn.hutool</groupId><artifactId>hutool-all</arti…

机器学习笔记之高斯网络(一)基本介绍

机器学习笔记之高斯网络——基本介绍引言回顾&#xff1a;条件独立性概率图模型高斯网络高斯网络介绍高斯网络的条件独立性随机变量之间的边缘独立随机变量之间的条件独立引言 本节将介绍高斯网络 回顾&#xff1a; 条件独立性 在概率图模型——背景介绍中介绍了条件独立性…

Dissertation写作常用的研究方法

英文毕业论文的撰写&#xff0c;有很多值得注意的重要因素&#xff0c;而研究方法的选择无疑是最重要的内容之一。留学毕业论文不同于平常的研究性论文&#xff0c;其难度和复杂程度要大得多&#xff1b;同时&#xff0c;导师对于留学毕业论文的要求又非常严格。因此写好一篇优…

[附源码]SSM计算机毕业设计教务系统JAVA

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

跨境电商卖家必知的【圣诞节营销】终极指南(二)

关键词&#xff1a;圣诞节营销、跨境电商卖家 不知不觉又到了年底&#xff0c;而对于跨境电商来说也是非常重要的一段促销时期&#xff0c;上一篇文章我们探讨了一些圣诞节营销的创意方法&#xff0c;今天我们将告诉您完整的圣诞节营销指南。 1. 闪购和 FOMO 限时抢购是您的电…

ImmunoChemistry艾美捷基本细胞毒性试验试剂盒测定方案

ImmunoChemistry艾美捷基本细胞毒性试验试剂盒是一种通过流式细胞仪测定细胞毒性的单管双色试验。该试验使用绿色荧光细胞染色剂CFSE标记靶细胞&#xff0c;使用红色活/死活性染料7-AAD识别细胞毒性试验样品中存在的死细胞。使用流式细胞仪分析结果。 细胞裂解活性是清除细胞内…