请选择 进入手机版 | 继续访问电脑版

UBAINS

 找回密码
 立即注册
搜索
热搜: UBAINS
查看: 3115|回复: 0

[学习笔记] JavaScript数组

[复制链接]

10

主题

11

帖子

447

积分

版主

Rank: 7Rank: 7Rank: 7

积分
447
QQ
发表于 2020-10-28 19:01:16 | 显示全部楼层 |阅读模式
本帖最后由 pidtfork 于 2020-10-28 19:03 编辑

JavaScript数组


数组是值的有序集合。每个值叫做一个元素,二每个元素在数组中有一个位置,已数组表示,称为索引。

JavaScript数组是无类型的,数组元素可以是任意类型,并且同一个数组中的不同元素也可以死不同类型。数组元素甚至可以是对象或者其他数组。

第一个元素的索引为0,最大的索引为 2的32次方减2为4294967294个,最大的元素个数为最大索引加1

每个数组都有一个length属性,它表示数组最大长度,比最大索引要大。

这也就是说,定义一个数组,你可往里面放任意类型的和任意长度的数据。不像C语言那样,定义10个长度的int型数组那就只能存10个长度的int型数据,其他类型就会强制类型转换。

JavaScript你随时改变数组长度,如果定义了一个 Array(10)也就是长度10的数组,你可以继续往里面后面添加任意类型的数据。



创建数组

直接量创建:在方括号中将数组元素用逗号隔开即可

Array构造函数:三种方式调用构造函数


//直接量创建,数组可以是任意类型
vara =[1,2,undefined,"hello",{"b":100},function(){console.log("array");},null];

//使用Array构造函数
//无参调用 创建一个没有任何元素的空数组 和这样操作一样[]
vararr  = new Array();

//一个参数指定长度,创建一个长度为10的数组空间,数组中没有任意元素
vararr  = new Array(10);

//大于两个参数,指定数组的初始值
vararr = new Array(1,2,3,4,5,6,7,8,9)


Array 对象方法
•            push() 向数组的末尾添加一个或更多元素,并返回新的长度。

•            unshift() 向数组的开头添加一个或更多元素,并返回新的长度。

•            pop() 删除并返回数组的最后一个元素

•            shift() 删除并返回数组的第一个元素

•            join() 把数组的所有元素放入一个字符串。元素通过指定的分隔符进行分隔。

•            splice() 删除元素,并向数组添加新元素。

•            slice() 从某个已有的数组返回选定的元素

•            concat() 连接两个或更多的数组,并返回结果。

•            sort() 对数组的元素进行排序

•            reverse() 颠倒数组中元素的顺序。

•            toString() 把数组转换为字符串,并返回结果。

数组的方法除了最后几个用的少一点,其他的都经常用到,尤其前面几个如push、pop这些,经常在处理数据的时候用到,非常使用的方法。



其他

虽然new Array() 构造函数可以通过传入多个值设置数组的初始值,实际使用中要初始化数组这个方法并不方便,比如我们要长度16的数组初始化为0,这样并不方便,不小心就多写了或者少写了。

而JavaScript中并没有数组初始化的方法,我们只能用 for 循环去给数组一一赋值。

数组里可以存任意类型值,在写回调函数时,可以使用push方法将函数放到数组中,然后遍历数组执行里面的函数。

concat连接两个数组是返回一个全新的数组,不是在第一个数组的基础上加上后面的数组。

前四个方法可以将数组变成一个堆栈形式,可以做到先进先出,先进后出。

for in 语法也是可以作用于数组的,但是一般不这么用

数组方法中ES6和部分ES5的方法是不支持的如forEach、map等方法




高级模式
B Color Image Link Quote Code Smilies |上传

本版积分规则

Archiver|手机版|小黑屋|BBS.UBAINSYUN.COM

GMT+8, 2024-4-16 12:43 , Processed in 0.035546 second(s), 19 queries .

Powered by UBAINS! X3.4

© 2001-2017 UBAINS Inc.

快速回复 返回顶部 返回列表