<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
</head>
<body>
<script>
let arr = ["red", "blue", "green"];
// 數組方法
// 檢測是否爲數組 instanceof Array.isArray()
if (arr instanceof Array) {
}
if (Array.isArray(arr)) {
}
// 轉換方法 toString()
console.log(arr.toString())
console.log(arr.toLocaleString())
console.log(arr.valueOf()) // 返回依然是數組
// 棧方法
// push() 向數組的後面添加
// pop() 刪除數組的最後一項並返回刪除項
// 隊列方法
// shift() 移除數組的第一項並返回刪除項
// unshift() 在數組前添加並返回新數組的長度
// 重排序方法
// sort() 正排序 當對數字排序的時候,先比較第一位,再逐位進行比較
// reverse() 反轉數組
let num = ['2', '1', '33', '3', '11', 1, 11]
console.log(num.sort())
console.log(num.sort().reverse())
// 操作方法
// cancat() 創建新數組,如果有參數,將參數添加到新數組後面
// slice(startIndex, endIndex) 截取數組,參數可以一個或兩個,即起始位置和結束爲止 當參數爲一個的時候,爲起始位置到最後 當參數爲兩個時,即起始和結束位置索引
// splice() 可以刪除、插入、替換數組
// 刪除:需要兩個參數,第一個爲起始位置,和刪除的數量 splice(startIndex, num)
// 插入:需要三個參數,第一個爲起始位置,和刪除的數量(0),需要插入的項(可以傳多個) splice(startIndex, num, item1, item2)
// 替換:需要三個參數,第一個爲起始位置,和刪除的數量(非0),需要插入的項(可以傳多個) splice(startIndex, num, item1, item2)
// 位置方法
// indexOf(item, startIndex) //在數組中查找某項,從起始位置開始查找,找到返回索引,未找到返回-1
// lastIndexOf(item ,startIndex) //在數組中查找某項,從末尾位置開始查找,找到返回索引,未找到返回-1
// 迭代方法
// every() 遍歷,每一項返回true,則返回true
// some() 遍歷,有一項返回true,則返回true
// filter() 返回該函數會返回true的數組
// forEach((item,index,arr)=>) 遍歷 沒有返回值
// map() 遍歷 返回一個新數組
// 歸併方法,兩種方法都會迭代數組中的每一項,然後構建一個最終返回值 兼容性:IE9+
// reduce() 從數組的第一項開始,逐個遍歷到最後
// reduceRight() 從數組的最後一項開始,逐個遍歷到第一個
var values = [2,3,4,5,6,7]
let nums = values.reduce((pre,cur)=>pre+cur)
console.log(nums); //27
</script>
</body>
</html>