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原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值