美文网首页
看犀牛书的笔记——数组

看犀牛书的笔记——数组

作者: ermu | 来源:发表于2016-07-22 16:41 被阅读12次

在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()

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

相关文章

  • 看犀牛书的笔记——数组

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

  • 细说JS数组

    此乃犀牛书(第七章 数组)读书笔记,又结合了ES6中数组的扩展部分做的知识梳理。精华部分就是手工绘制的两张数组总结...

  • 看犀牛书的笔记——对象

    自己看书的一点总结,并不一定适合大家,建议大家还是去看看犀牛书 一、对象 对象的特性 对象的原型:指向另外一个对象...

  • 看犀牛书的笔记——函数(上)

    函数是什么?在JavaScrit中函数是一段代码,只定义一次,但可以被执行或调用任意次。当然不是上图的含树。对于函...

  • 犀牛书7-数组

    数组是经历过优化的对象,用数字索引来访问数组一般来说要比访问常规的对象属性要快很; 数组的直接量允许有可选的结尾的...

  • 犀牛书 - 第七章:数组

    创建数组 - 数组中省略的元素被赋予undefined - 数组结尾逗号 - 创建数组:字面量、new Array...

  • 犀牛书权威指南笔记

    前言 讲述JavaScript语言本身,介绍JavaScript API。适合有一定编程经验的人阅读。系统权威的讲...

  • 2018.01混沌上课笔记(二):新零售:数据+供应链

    “黑天鹅”和“灰犀牛” 复习一下上一篇笔记讲到“黑天鹅”和“灰犀牛”是这两个近年很流行的概念。 马云说:看不见、看...

  • 2019.03.12

    乱 是不是要做的事情太多,我觉得我应付不过来。 晚上打算学犀牛,看原厂的书没有合适的教程文件,犀牛五的教程也缺少一...

  • 数字人NURBS建模课堂:犀牛入门-3

    关于犀牛的基本概念的学习笔记。 电子文档下载

网友评论

      本文标题:看犀牛书的笔记——数组

      本文链接:https://www.haomeiwen.com/subject/ptyijttx.html