14.js数组

是一种复杂数据类型,有序的数据集合

数组一般存放多个个例的不同数据,对象一般存放一个个例的不同信息

数组创建

(1)字面量创建

        var 数组名=[ ]

(2)内部构造函数创建

        var 数组名=new Array()

        创建指定长度的数组

        var 数组名=new Array(数字)

length属性

访问语法:数组名.length——>返回数组长度

设置语法:数组名.length=数字

(1)数组名.length=数组长度  数组没有变化

var arr=[0,1,2,3,4,5,6]
arr.length=7
console.log(arr)  //[0,1,2,3,4,5,6]

  (2)数组名.length=数据(数据<数组长度)  数组会从末尾开始删除

var arr=[0,1,2,3,4,5,6]
arr.length=5      //设置数组长度为5 会从末尾删除多余的
console.log(arr)  //[0,1,2,3,4]

(3)数组名.length=数据(数据>数组长度)  多出位置自动用empty补齐

var arr=[0,1,2,3,4,5,6]
arr.length=10     //设置的数组长度大于原长度,那么会多出来位置,自动用empty补齐
console.log(arr)  //[0, 1, 2, 3, 4, 5, 6, empty × 3]

index属性

索引index:从0开始,依次+1

访问语法:数组名[索引]

                  索引对应的值存在,那么返回相应的值

                  若不存在返回undefined

var arr=[0,1,2,3,4,5,6]
console.log(arr[1])  //1
console.log(arr[10]) //undefined

设置语法:

var arr=[0,1,2,3,4,5,6]//1.索引小于数组长度  修改值
arr[1]="被修改"
console.log(arr)  //[0, '被修改', 2, 3, 4, 5, 6]//2.索引等于数组长度 在末尾添加
arr[7]='添加'
console.log(arr)  //[0, '被修改', 2, 3, 4, 5, 6, '添加']//3.索引大于数组长度 在末尾添加 中间自动用empty补齐
arr[10]='在索引10的位置上添加'
console.log(arr)  //[0, '被修改', 2, 3, 4, 5, 6, '添加', empty × 2, '在索引10的位置上添加']

数组遍历

使用for循环,开始为0,结束小于数组长度,步长为1

经典题型:

 ①首先练习两数相换

var a=10
var b='tom'
// 要借助第三个数存储
var temp=a
a=b
b=temp
console.log('a的值'+a,'b的值'+b)  //a的值tom b的值10

冒泡排序

排序算法1-冒泡排序

思路:两两相比,把大的向后排

——①两两相比

var arr = [30, 22, 19, 13, 35, 8]
//循环的初始索引为0,结束索引时length-1,步长为1
for (var j = 0; j < arr.length-1; j++) {console.log(arr[j],arr[j+1])
}
/*30 2222 1919 1313 3535 8
*/

——②互换位置

for (var j = 0; j < arr.length-1; j++) {//前者比后者大就交换位置if(arr[j]>arr[j+1]){temp=arr[j]arr[j]=arr[j+1]arr[j+1]=temp}}console.log(arr)  //[22, 19, 13, 30, 8, 35]

——③ 一共要比较5次,也就是arr.length-1

//完整代码
var arr = [30, 22, 19, 13, 35, 8]
var temp
for (var i = 0; i < arr.length; i++) {for (var j = 0; j < arr.length-1; j++) {//前者比后者大就交换位置if(arr[j]>arr[j+1]){temp=arr[j]arr[j]=arr[j+1]arr[j+1]=temp}}}
console.log(arr) //[8, 13, 19, 22, 30, 35]

选择排序

每一轮标记最小的,把最小的向前排列

秒懂算法4-选择排序

var arr = [30, 22, 19, 13, 35, 8]
var min = 0
var temp
//第一轮  拿第一个和每一个相比较,如果比第一个小把当前标记为最小
for (var j = 1; j < arr.length ; j++) {console.log(arr[j])if (arr[min] > arr[j]) {min = j}}
console.log('最小'+arr[min])
temp=arr[0]
arr[0]=arr[min]
arr[min]=temp
console.log(arr)// 第二轮
min=1
for (var j = 2; j < arr.length ; j++) {if (arr[min] > arr[j]) {min = j}
}
temp=arr[1]
arr[1]=arr[min]
arr[min]=temp
console.log(arr)

——一共有5轮(比较5次)

var arr = [30, 22, 19, 13, 35, 8]
var min 
var temp
for (var i = 0; i < arr.length; i++) {min = ifor (var j = i+1; j < arr.length; j++) {console.log(arr[j])if (arr[min] > arr[j]) {min = j}}temp = arr[i]arr[i] = arr[min]arr[min] = temp
}console.log(arr)

上一篇:13.js对象-CSDN博客

下一篇:15.数组的方法(改变原数组和不改变原数组)-CSDN博客

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

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

相关文章

《网关微服务技术架构:构建高效可扩展的服务网关》

随着微服务架构的流行&#xff0c;网关微服务作为微服务架构中的重要组成部分&#xff0c;扮演着连接客户端与后端微服务的关键角色。本文将深入探讨网关微服务的技术架构设计与实现&#xff0c;以及如何构建高效可扩展的服务网关。 ### 1. 网关微服务的作用与意义 网关微服务…

iptables防火墙【☆】

一、防火墙的基础 防火墙分为硬件防火墙和软件防火墙&#xff0c;硬件防火墙有专门的设备&#xff1a;如国产华为、绿盟等&#xff0c;作为网关层做地址转换等安全防护。很多公司基本都会使用硬件防火墙做第一道防御&#xff0c;在核心业务上再添加软件防火墙提高安全性能…

heap和stack有什么区别

heap&#xff08;堆&#xff09;和stack&#xff08;栈&#xff09;在内存管理、数据结构、空间分配和释放等方面存在显著的区别。以下是对这些区别的详细解释和举例说明&#xff1a; 空间分配和释放&#xff1a; heap&#xff1a;空间一般由程序员手动分配和释放&#xff0c…

IP地址概述和配置

一.IP地址的概述 在计算机网络中&#xff0c;连接的网络设备和计算机都有唯一的地址&#xff0c;以此作为该计算机在internet中的唯一标识。 二.IP地址的定义 IP地址&#xff08;internet protocol Address&#xff0c;网络协议地址&#xff09;是用于表示网络节点的逻辑地址…

智能科技的新风潮:探索Web3与物联网结合

引言 随着科技的不断进步和创新&#xff0c;智能科技正成为新时代的主旋律。在这个充满活力和变革的时代&#xff0c;Web3技术与物联网的结合成为了一股新的风潮。本文将深入探讨这一新趋势&#xff0c;揭示Web3与物联网结合的意义、挑战和前景。 Web3技术的特点与优势 区块链…

Docker compose 的方式一键部署夜莺

官方安装文档&#xff1a;https://flashcat.cloud/docs/content/flashcat-monitor/nightingale-v7/install/docker-compose/ 介绍&#xff1a;夜莺监控是一款开源云原生观测分析工具&#xff0c;采用 All-in-One 的设计理念&#xff0c;集数据采集、可视化、监控告警、数据分析…

Go语言(Golang)的开发框架

在Go语言&#xff08;Golang&#xff09;的开发中&#xff0c;有多种开发框架可供选择&#xff0c;它们各自具有不同的特点和优势。以下是一些流行的Go语言开发框架&#xff0c;选择Go语言的开发框架时&#xff0c;需要考虑项目需求、团队熟悉度、社区支持、框架性能和可维护性…

3d选择模型后不能旋转什么原因?怎么解决?---模大狮模型网

在3D建模和渲染的过程中&#xff0c;旋转模型是常见的操作。然而&#xff0c;有时在选择了模型后&#xff0c;却发现无法进行旋转&#xff0c;这可能会让许多用户感到困扰。本文将探讨3D选择模型后不能旋转的可能原因&#xff0c;并提供相应的解决方法。 一、3D选择模型后不能旋…

Kafka中配置一个账号,权限仅支持查询所有主题信息和消费组信息

为了配置一个Kafka账号&#xff0c;使其具有查询所有主题的消费信息和权限组信息的权限&#xff0c;但没有编辑权限&#xff0c;你可以按照以下流程操作&#xff0c;并使用相应的Kafka命令行工具&#xff1a; 配置流程 设置认证机制 确保Kafka集群配置了SASL或SSL/TLS认证。…

若依nodejs版本过高问题解决方案

由于nodejs版本过高,可能会导致vue-cli项目运行报错。 目录 方法1:每次启动项目前,输入配置命令 方法2:修改package.js

代码随想录训练营day56 | 动态规划part17

1、647.回文子串 class Solution {public int countSubstrings(String s) {char[] chars s.toCharArray();int len chars.length;boolean[][] dp new boolean[len][len];int result 0;for (int i len - 1; i > 0; i--) {for (int j i; j < len; j) {if (chars[i] …

react中样式的书写

在 React 中&#xff0c;你可以使用 className 来指定一个 CSS 的 class。它与 HTML 的 class 属性的工作方式相同&#xff1a; <img className"avatar" /> 然后&#xff0c;你可以在一个单独的 CSS 文件中为它编写 CSS 规则&#xff1a; .avatar {border-rad…

如何使用WindowsSpyBlocker防止Windows系统被恶意监控和跟踪

关于WindowsSpyBlocker WindowsSpyBlocker是一款功能强大的Windows系统安全防护工具&#xff0c;该工具基于Go语言开发&#xff0c;WindowsSpyBlocker以一个单独的可执行程序发布&#xff0c;可以帮助广大用户防止自己的Windows系统被恶意监控和跟踪。 WindowsSpyBlocker能够利…

react中hook 函数的使用

以 use 开头的函数被称为 Hook。useState 是 React 提供的一个内置 Hook。你可以在 React API 参考 中找到其他内置的 Hook。你也可以通过组合现有的 Hook 来编写属于你自己的 Hook。 Hook 比普通函数更为严格。你只能在你的组件&#xff08;或其他 Hook&#xff09;的 顶层 调…

SpringCloud(1)-Eureka相关配置

1.新建Module-注册中心 作为注册中心 1.1配置 pom.xml <!-- 引入 eureka-server --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency&g…

ASP+ACCESS基于BS产品销售管理系统

2. 网页制作工具 a) 网页设计工具 网页主要使用Frontpage2003&#xff0c;Dreamweaver Mx辅助制作。 Frontpage 2003 frontpage2003是在frontpage2000基础上的网页工具。frontpage2003保留和发展了frontpage 2000的优秀功能&#xff0c;并根据用户的的要求再次增加了九大新…

如何用PLC监听消防系统485总线通讯获取火灾报警数据

本文由艺捷自动化编写&#xff0c;艺捷自动化旗下产品有艺捷自动化网站和易为二维码说明书小程序&#xff08;微信&#xff09; 前言&#xff0c;先来说一下为什么会有这么一个奇怪的应用。在一个自动化系统改造升级项目中&#xff0c;甲方要求把消防的画面加到他们的后台上。…

C++哪些函数不能被声明为虚函数

在C中&#xff0c;某些函数不能被声明为虚函数。下面详细解释哪些函数不能被声明为虚函数&#xff0c;并通过代码示例进行说明。 C哪些函数不能被声明为虚函数 不能声明为虚函数的函数示例代码及解释一、构造函数不能是虚函数二、静态成员函数不能是虚函数三、友元函数不能是虚…

反转链表-力扣

该题使用虚拟头节点来做在思考的时候稍微有点复杂&#xff0c;但与从头节点开始&#xff0c;利用一个cur节点来反转流程是一样的&#xff0c;只需将dummyhead->next 当作是 cur 来操作即可。代码如下&#xff1a; /*** Definition for singly-linked list.* struct ListNod…

【电控笔记5.9】编码器脉冲计算速度MT法

总结 编码器的脉冲计算速度可以使用多种方法,其中一种常用的方法是“MT法” (Measuring Time Method),即测量时间法。该方法通过测量编码器脉冲间的时间来计算速度。这种方法在高精度速度测量中非常有效,特别是在速度较低时。 MT法计算速度的基本原理 MT法的基本原理是通过…