IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 数据结构与算法 -> JavaScript(十七) 数组,类数组 -> 正文阅读

[数据结构与算法]JavaScript(十七) 数组,类数组

1. 数组定义(推荐使用字面量)

数组与对象类似:

上面两种方法都可以往里面传一堆参数,系统默认是数组打印

只传一个参数的就不一样了,第一个构造函数的方法默认传进去的是长度:例第一行结果是undefined×10;但第二种字面量的方法结果仍是一个数10

第二个图第一行:创建长度为10的空数组只能这么创建,只写一位不能写小数报错

2. 数组的读和写(JS里面数组几乎不报错)

?

不可以溢出读指的是:结果是undefined?

?可以在控制台赋值使数组长度增加

?例: var arr=[];里面是空数组,输出结果都是undefined

3. 数组的常用方法?

3.1 改变原数组

3.1.1 push:往里添加数据的方法

在数组的最后一位添加数据,可以添加无数位

模拟系统的push方法:

3.1.2 pop :把数组的最后一位剪切出去

只能剪切一位

3.1.3 shift(在数组的前面减几位),unshift(在数组的前面加几位都行)

?

?3.1.4 reverse(将原数组逆返)

?3.1.5 splice(切片)

例1:

?例2:从第一位开始切一个数,然后把第二个逗号后面的插入切掉的数的位置

?例3:在3和5中间加4

例4:从倒数第一位截一个数

?原理是这个:+length

?3.1.6 sort(给数组排序)? 按ASCII码排的)

升序:

降序:

按ASCII码排序:最后结果不是升序我们想要的结果

?

?在sort接口里添加一个匿名函数,就能让sort按照我们想要的任何一种方法排序

?第一次调用函数时会把数组的一二位传进来,再看返回值,返回值自己控制

传参的时候比较两个数;第一次1.3,第二次1.5;第三次1.4,第四次1.10,第五次3.5..........(冒泡排序算法)

升序

升序:

?直接返回结果就行了:

?降序:

降序直接返回这个:?

?

总结:

?例题:拓展

补充一个下面的,返回随机数:(0-1)之间

如果想让返回值可正可负,

?

?例题:按字符串长度排序

?按字节长度排序:

3.2 不改变原数组

3.2.1? concat(把后面的数组拼到前面的数组上)

?

?拼完了是一个新数组,不会影响原来的数组

3.2.2 toString

把数组变成字符串展示出来

?3.2.3 slice(截取)

因为不改变原数组,所以必须拿一个接收新数组

下面是两个参数的情况:

?一个参数的情况:

从该位开始截取,一直截取到最后 可以填负数,用负数加上数组里一共几个数

不写参数就是整个截取

3.2.4 join

调用join,里面必须是字符串形式的,空串也得是字符串?

如果里面是“-/!/~”,他会把数组里所有东西用-连接起来输出(传进去了啥就按啥连接,但必须是字符串形式,加“”)

?3.2.5 split(是字符串的方法但是和数组方法可逆)

spilt返回数组,join返回字符串

作用:按照什么拆分成数组

var arr = [1,2,3,4,5,6];

?如果按4拆分,4就隔开了

例题:把下面这些公司连起来,如果join里面什么都不传,它是按逗号连接的,传空串就是啥也没有直接连起来的

另外的方法:但是不推荐

直接加起来?

或者放数组里:

4. 类数组

?类数组:长得像数组,也可以当数组用,但就不是数组,

? ? ? ? ? ? ? ? 下面就是类数组,是对象但是用起来跟数组一样

调用了一个push,加了个d,出来个本来没有的3d,length也变成4了

在后面加了一个splice方法之后,就长得跟数组一样了,但还是对象?

?

?原理:obj引用this变成obj,push原理

  数据结构与算法 最新文章
【力扣106】 从中序与后续遍历序列构造二叉
leetcode 322 零钱兑换
哈希的应用:海量数据处理
动态规划|最短Hamilton路径
华为机试_HJ41 称砝码【中等】【menset】【
【C与数据结构】——寒假提高每日练习Day1
基础算法——堆排序
2023王道数据结构线性表--单链表课后习题部
LeetCode 之 反转链表的一部分
【题解】lintcode必刷50题<有效的括号序列
上一篇文章      下一篇文章      查看所有文章
加:2022-02-16 13:22:22  更:2022-02-16 13:23:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 17:35:15-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码