什么是数组?
数组就是专门用于存储一组数据的
注意点: 和Number/String/Boolean/Null/undefined不同(基本数据类型)
数组(Array)不是基本数据类型, 是引用数据类型(对象类型)
如何创建一个数组?
let 变量名称 = new Array(size);
如何往数组中存储数据
变量名称[索引号] = 需要存储的数据;
如何从数组中获取存储的数据
变量名称[索引号];
let arr = new Array(3);
console.log(arr);
arr[0] = "lnj";
arr[1] = "zs";
console.log(arr);
console.log(arr[0]);
注意点
1.和其它编程语言不同, 如果数组对应的索引中没有存储数据, 默认存储的就是undefined
其它编程语言中默认保存的是垃圾数据或者0
2.和其它编程语言不同, JavaScript中访问了数组中不存在的索引不会报错, 会返回undefined
其它编程语言一旦超出索引范围就会报错或者返回脏数据
3.和其它编程语言不同, 当JavaScript中数组的存储空间不够时数组会自动扩容
其它编程语言中数组的大小是固定的
4.和其它编程语言不同, JavaScript的数组可以存储不同类型数据
在其它编程语言中数组只能存储相同类型数据(要么全部都是字符串, 要么全部都是数值等)
5.和其它编程语言不同, JavaScript中数组分配的存储空间不一定是连续的
其它语言数组分配的存储空间都是连续的, JavaScript数组是采用"哈希映射"方式分配存储空间
什么是哈希映射? 好比字典可以通过偏旁部首找到对应汉字, 我们可以通过索引找到对应空间
在浏览器中各大浏览器也对数组分配存储空间进行了优化
如果存储的都是相同类型的数据, 那么会尽量分配连续的存储空间
如果存储的不是相同的数据类型, 那么就不会分配连续的存储空间
创建数组的其它方式
过构造函数创建数组
let 变量名称 = new Array(size); 创建一个指定大小数组
let 变量名称 = new Array(); 创建一个空数组
let 变量名称 = new Array(data1, data2, ...); 创建一个带数据的数组
通过字面量创建数组
let 变量名称 = []; 创建一个空数组
let 变量名称 = [data1, data2, ...]; 创建一个带数据的数组