看犀牛书的笔记——数组

在js中数组就是值的有序集合。每个值叫做一个元素,元素在数组中的位置叫做索引

  • JavaScrit数组是无类型的: 元素可以是任意类型,不同元素的类型可以不同。
  • JavaScrit数组是动态的: 可根据需要增长或缩减,不需要在创建数组时声明长度。
  • JavaScrit数组可能是稀疏的: 数组元素的索引不一定要连续,它们之间可以有空缺。

在JavaScrit中,数组是对象的特殊形式,数组索引实际上和整数的属性名差不多。

创建数组

一、直接量
数组中的 值不一定要是常量,也可以是任意的表达式、函数、对象。
例子:

var a = [1,"a", 1+1,{x:1,y:2},function(){alert(5)}];

如果省略了数组直接量中的值[,1,2],省略的元素将被赋值为undefined。数组直接量允许有可选的逗号,故[,,]只有两个元素。
二、构造函数
调用Array()是创建数组的第二种方法。此方法可接收很多参数。

  1. Array()没有参数的时候创建一个没有任何元素的空数组,数组长度为零。
  2. Array(10)有一个参数并且参数是一个<=0且>2的32次方-2的整数的时候指定他的长度,否则表示指定第一个(即索引为0)元素 。PS:这个数组除了length属性为10以为,其他与Array()没有区别。
  3. Array(1,2,"hello")有两个或两个以上的参数将被看做显示指定数组元素。

数组元素的读和写

使用[]操作符来读、写一个数组元素。以下代码都是合法的:

var a = ['hello']; //从一个元素的数组开始
var value = a[0];//读第0个元素
a[1]=3.14;//写第1个元素
var i = 2;  //定义i
a[i]=3;  //写第2个元素
a[i+1]="ketty";  //写第三个元素
a[a[i]]=a[0]    //读第0个和第2个元素,写第三个元素

请记住,数组是对象的特殊形式。数组的特别之处在于,当使用小于2的32次方的非负整数作为属性名时,数组会自动维护其length属性值。例子:

var a = [1]; //此时a的length属性值为1
a[100] = "我是100";//此时a的length属性值为101

所以,要清晰的区分数组的属性名和索引。在直接量中只有小于2的32次方的非负整数(字符串也行)才会被数组视为索引。例子:

a[-1.23] = true; //创建一个属性名为-1.23的属性
a["100"] = 1 //这是数组的第101个元素
a[1.000]    //和a[1]相等

稀疏数组

稀疏数组就是包含从0开始的不连续的数组。可以理解为数组的length属性值大于最大索引值-1的数组。下面个些例子:

a = new Array(5); //数组中没有元素,但是length为5
a[1000] = 0; //添加了一个元素,但是设置length为1001
a= [,,,] //数组是[undefined,undefined,undefined]

也可是用时delete操作符来生产稀疏数组。

(懒)数组并没有什么好介绍的这东西理解起来太简单了。

下面主要介绍数组的N个方法:

push()

在数组末尾增加一个或多个元素;

unshift()

在数组首部增加一个或多个元素;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 14,023评论 6 13
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,092评论 19 139
  • 第三章 类型、值和变量 1、存取字符串、数字或布尔值的属性时创建的临时对象称做包装对象,它只是偶尔用来区分字符串值...
    坤少卡卡阅读 3,853评论 0 1
  • Javascript有很多数组的方法,有的人有W3C的API,还可以去MDN上去找,但是我觉得API上说的不全,M...
    顽皮的雪狐七七阅读 9,748评论 0 6
  • 先决条件 在阅读这个教程之前,你多少需要知道点python。如果你想从新回忆下,请看看Python Tutoria...
    舒map阅读 7,468评论 1 13

友情链接更多精彩内容