数组对象:是一种特殊的对象
JS没有真正的数组,只是用对象模拟的数组
JS数组不是典型的数组
什么是典型的数组呢?
- 元素的数据类型相同
- 使用连续的内存存储
- 通过数字下标获取元素
JS数组不是这样的
- 元素的数据类型可以不相同
- 内存不一定是连续的(对象是随机存储的)
- 不能通过数字下标存储,而是用字符串下标存储的
- 这意味着数组可以有任何的key
例如:
let arr = [1,2,3,4]
arr['xxx]=1
这里的key不是数字是 ‘xxx’
注意:arr[1]这里的1不是数字而是字符创他等于arr[(1).toString]。JS会把不是字符串的下标转换成字符串下标
如何创建元素
一、新建元素
- let arr=[1,2,3]
- let arr = new Array(1,2,3)
- let arr = new Array(3)//新建一个length为3的空数组,数组是:[emptyx3]
二、转化
- let arr='1,2,3'.split(',')
- let arr='123'.split('')
- Array.from('1,2,3')//可以把伪数组转化为数组