素材巴巴 > 程序开发 >

js数组类型

程序开发 2023-09-03 16:05:24

文章目录

数组的定义

数组(Array)是按次序排列的一组值,每个值的位置都有编号,称为索引,具体表现为数组下标.
数组基本特点:


数组的创建,赋值

  1. 数组创建的三种方式:

    1. 使用new+数组构造函数Array():

    2. 使用[]创建数组字面量:(只有字面量方式才能创建既有空位又有实际值的数组)

    3. 二维数组的创建

    4. 二维数组的length问题:在后续length部分内容分析
  2. 数组的赋值:for循环统一赋值,单个赋值,字面量直接赋值.


数组的本质

本质上,数组属于一种特殊的对象.typeof运算符返回的也是object.数组的特殊性在于length的特殊属性与一定范围内的数字键名的特殊性.

  1. 数组键名的特殊性
    数组的键名分为两种–数组成员索引和数组属性名.两者都是字符串.都可以用Object.keys()方法返回(属性特性为可枚举的).但数组成员索引又和一般对象的属性名不同.
    数组成员索引名的特点:
  2. 数组length属性的特殊性
  3. length属性的属性特性:

  4. length属性的值的有限性:取值的范围

  5. length属性的不可靠性:

  6. 二维数组的length值:
    二维数组的length值分为两种–高维的length(只有一个)与一维的length(多个).
    例:
    var myArray2 = [[1,2],[‘good’,‘bad’],[true,false]]


数组/对象通用的方法,运算符

  1. in 运算符:索引是空位或者不存在,都会返回false(可与length结合使用来返回数组实际的成员数目)
  2. for…in循环:
    不仅会遍历数字键,也会遍历非数字键(新添加的属性).故,不推荐使用for…in遍历数组[注:arrayObj.forEach(function F)方法可用于遍历数组,对数组的每个元素执行一次提供的函数]

数组的空位

  1. 数组空位的本质:数组中根本不存在该成员.因此无法对其进行访问与遍历.

  2. 产生空位的三种方式:

  3. 空位产生的根本原因:js数组索引的不连续性.

  4. 数组空位与数组成员值为undefined的区别:
    数组的某个位置是空位,与某个位置是undefined,是不一样的。如果是空位,使用数组的forEach方法、for…in结构、以及Object.keys方法进行遍历,空位都会被跳过(因为不存在),而undefined,遍历的时候就不会被跳过.


类似数组的对象(array-like object)

  1. 定义:如果一个对象的所有键名都是正整数或零,并且有length属性,那么这个对象就很像数组,语法上称为“类似数组的对象”(array-like object)。典型的“类似数组的对象”是函数的arguments对象,以及大多数 DOM 元素集,还有字符串。
  2. 数组的slice()方法:
    数组的slice方法可以将“类似数组的对象”变成真正的数组.你只需将该方法绑定到这个对象上
    var arr = Array.prototype.slice.call(arrayLike);
    然后将可以使用数组的方法对之进行处理了.

标签:

素材巴巴 Copyright © 2013-2021 http://www.sucaibaba.com/. Some Rights Reserved. 备案号:备案中。