<!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>