# 数组 1. 数组是个线性结构 2. 在js里它没有固定的大小 3. 它也不要求所有元素的数据类型都一样(但你最好保证他们是一样的) # 创建数组的方式 ## 字面量(推荐) ```js const nums = [1, 2, 3]; ``` ## 使用Array里的静态方法 ```js const strs = Array.from('Hello World') ``` # API javascript的数组**实现了栈和队列** ## 追加一个元素 ```js num.push(10) ``` ## 追加多个元素 ```js num.push(11,15) ``` ## 在数组前面加一个元素 ```js strs.unshift('a') ``` ## 从数组尾部删除一个元素 ```js num.pop() ``` ## 在数组头部删除一个元素 ```js strs.shift() ``` > 注意以上都是命令性的操作,虽然他们都有返回值但最好不用使用他们(对于追加来说会返回你追加的元素,对于弹出来说会返回弹出来的元素) ----- ## 指定区间 ```js nums.slice(1,3); // 从1到3 ``` 记得是**左闭右开**区间!!! ## 映射 ```js nums.map(x => x * 2) // 获取所有元素都乘2了的版本 ``` ## 过滤 ```js nums.filter(x => x % 2 === 0) // 只要偶数 ``` ## 累积 ```js nums.reduce((result x) => result + x, 0); ``` ## 反转 ```js strs.reverse() ``` ## 拼成字符串 ```js strs.join('') ``` > 以上为 **函数式**操作,不会更改原有数组,它的返回值才是有意义的结果。 --- # 获取长度 ```js num.length ``` > 把nums.length复制为0可以清空数组 # 索引一项 使用下标索引即可 ```js nums[nums.length-1]; // 最后一个元素 ``` > 本文作者:不爱喝橙子汁