博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
你不知道的JavaScript(二)数组
阅读量:7065 次
发布时间:2019-06-28

本文共 768 字,大约阅读时间需要 2 分钟。

作为一种线性数据结构,几乎每一种编程语言都支持数组类型。和c++、java这些强类型的语言相比,JavaScript数组有些不同,它可以存放任意类型的值。上节中有提到过JS中任意类型的值都可以赋值给任何一个变量,所以从数组中取出不同类型的值时也就不存在类型转换安全问题。

JS数组的使用非常简单,只是有些细节可能容易被忽略,下面是数组的定义:

数组定义很简单,通过一个中括号[ ]来声明,可以在声明时指定元素值,每个元素用逗号隔开,元素可以是任意类型。上节提到过,数组也属于object类型,我们可以通过它的length属性来获取数组的长度。

JS数组的长度是不固定的,可以在程序中随意增加或减少数组长度。

在c++、java这些强类型的语言中数组的下标只能是整型或者char类型,JS数组并不是这样的,它的下标可以是上节讲到的数据类型中的任何一种,看下面的例子:

有点凌乱了吧,我们可以將一个小数作为数组下标arr[1.3]=3,然后可以通过arr[1.3]获取下标的值。字符串作为下标时稍微特殊一点,我们不仅可以通过arr[“age”]来获取下标对应的值,还可以使用arr.age这种形式。我们甚至可以定义一个函数func,使用函数名作为下标。

最后我们使用arr.length获取数组的长度,发现长度为1,这是怎么回事呢?

我们来通过代码分析一下:

可以看到通过length属性获得数组的长度实际上并不准确,它的值是数组的最大整数下标+1。

为了避免数组下标出现不连续的情况,我们通常將数组作为栈来操作,需要增加数组长度并向数组中添加元素时调用push函数,减少数组长度同时移除元素可以调用pop方法。

案例代码如下:

页面输出:

这里写图片描述

转载于:https://www.cnblogs.com/lanzhi/p/6468848.html

你可能感兴趣的文章
cacti安装
查看>>
Spark核心概念
查看>>
Kali***(二)之被动信息收集——搜索引擎
查看>>
组策略参考文档1-共享打印机
查看>>
Linux的包管理工具介绍
查看>>
实验五 利用三层交换机实现VLAN间路由
查看>>
程序员如何成为架构师
查看>>
fiddler抓包之关于connect连接
查看>>
MySQL,binlog2sql回滚操作测试
查看>>
CentOS7下yum安装Jenkins
查看>>
tomcat运行时异常:java.lang.IllegalArgumentException
查看>>
LAMP架构介绍、MySQL和MariaDB介绍、MySQL安装
查看>>
简练软考知识点整理-确认范围管理
查看>>
用事件修饰符来修改事件
查看>>
SharePoint On Premise/ SharePoint Online增强格式的文本栏
查看>>
使用loadrunner对https协议(单双向SSL)的web端性能测试
查看>>
spring cloud云服务架构 - HongHu云架构代码结构构建
查看>>
为什么分布式一定要有一致性方案?
查看>>
不懂这几点就落后了:Android、Python工程师必读!
查看>>
Werkzeug 教程
查看>>