当前位置:嗨网首页>书籍在线阅读

02-数组概览

  
选择背景色: 黄橙 洋红 淡粉 水蓝 草绿 白色 选择字体: 宋体 黑体 微软雅黑 楷体 选择字体大小: 恢复默认

8.1 数组概览

在深入讲解之前,先来回顾一下数组的基础知识。数组(不像对象)是有序的,它的下标从0开始。JavaScript中的数组可以是非齐次的,也就是说,数组中的元素可以是不同的类型(遵循这个原则的话,数组的元素可以是另一个数组,或对象)。字面量数组是由方括号构建的,这个方括号还能根据下标来访问数组元素。每个数组都有一个length属性,表示数组中有多少元素。给大于数组元素长度的下标赋值,会增加数组长度,而尝试访问超过数组元素下标的元素时,会得到undefined。也可以用数组构造器创建数组,即便它不常用。在继续之前,先看看下面的代码,确保这些内容都理解了:

// 数组字面量
const arr1 = [1, 2, 3];                          //整数数组
const arr2 = ["one", 2, "three"];                // 非齐次数组
const arr3 = [[1, 2, 3], ["one", 2, "three"]];   //包含数组的非齐次数组
const arr4 = [                                   //非齐次数组
   { name: "Fred", type: "object", luckyNumbers = [5, 7, 13] },
   [
      { name: "Susan", type: "object" },
      { name: "Anthony", type: "object" },
   ],
   1, 
   function() { return "arrays can contain functions too"; },
   "three", 
];
// 给数组元素赋值
arr1[0];                        // 1
arr1[2];                        // 3
arr3[1];                        // ["one", 2, "three"]
arr4[1][0];                     // { name: "Susan", type: "object" }
// 获取数组长度
arr1.length;                   // 3
arr4.length;                   // 5
arr4[1].length;                // 2
// 增加数组长度
arr1[4] = 5;
arr1;                          // [1, 2, 3, undefined, 5]
arr1.length;                   // 5
// 访问超过数组元素下标的元素
// 并*不会*改变数组大小
arr2[10];                     // undefined
arr2.length;                  // 3
// 构造数组 (很少用)
const arr5 = new Array();              // empty array
const arr6 = new Array(1, 2, 3);       // [1, 2, 3]
const arr7 = new Array(2);             // array of length 2 (all elements undefined)
const arr8 = new Array("2");           // ["2"]