# 數組
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]; // 最后一個元素
```
> 本文作者:不愛喝橙子汁
- 自述
- 學會提問
- 起步
- 安裝
- 版本升級
- 1.x 升級 2.x 常見問題
- 命令行模式下node-sass安裝錯誤
- 查看版本
- uView UI 1.x 相關問題
- 安裝
- Popup 彈窗
- tabs 標簽
- Waterfall 瀑布流
- Table 表格
- Dropdown 下拉菜單
- uview-ui組件篇
- u-upload監聽beforeRead事件無效
- 組件怎么關不了
- 導航欄不默認返回好麻煩
- ref怎么獲取不到
- z-index拉滿都覆蓋不了map
- u-text對手機號脫敏
- u-input的placeholder去不掉
- 服務端返回數據,form表單驗證錯誤
- checkbox增加選中面積
- uview-ui組件篇/checkbox無法取消選中
- 小程序輸入框的placeholder會穿透到彈出層
- JavaScript篇
- 判斷數據類型
- 數組操作
- 節流與防抖函數
- this怎么就不對
- 計算地圖上兩點間的距離
- CSS篇
- 我要超出顯示省略號
- uniapp中小程序樣式穿透問題
- 關鍵幀與動畫
- CSS動畫屬性總結
- 過渡與動畫
- 正則表達式篇
- 身份證號
- 手機號
- 是否合法的http/https域名
- 數據處理篇
- 對數組分組
- 深拷貝對象
- 提取數組屬性
- 提取對象屬性
- 常見問題
- 如何給由組件觸發的事件中傳入自定義的參數
- 分類的雙列聯動
- 三級聯動的實現
- 小程序預覽提示包過大
- 框架安裝失敗
- 表格、瀑布流、下拉列表 組件為什么沒有了
- tabBar組件怎么用
- 時間、日歷、選擇器相關問題
- 字體圖標不顯示
- class 或 /deep/ 不生效