# 新增数组方法

# forEach()

let arr = [1, 2, 3, 4, 5]

//  forEach遍历数组
arr.forEach((item,index,self)=>{
    console.log(item*10)
})

# map()

// map遍历数组,返回一个新数组 (用作统一修改数组项)
let r1 = arr.map((item, index, arr) => {
    return item * 10
})

console.log(r1)

# filter()

// filter过滤出满足条件的值,返回一个新的数组 (用作数组过滤)
let r2 = arr.filter((item, index, arr) => {
    return item > 2
})
console.log(r2)

# reduce()

// reduce前一项一直作用于后一项上(可以用作数组求和或求阶乘)
let r3 = arr.reduce((result, item, index, arr) => {
    return result + item
})
console.log(r3)

# some()

// someh找到满足条件的第一个就停止(检测数组中的是否存在满足条件的项目),并返回true,如果都不满足,返回false
let r4 = arr.some((item,index)=>{
    return item//2 === 0,index
})


console.log(r4)

# every()

// every  其中有一项不满足就返回false,否则返回true (检测数组中是否都满足条件 )
let r5 = arr.every((item,index)=>{
    return item<5
})
console.log(r5)

# indexOf()/lastIndexOf()方法

//该方法有两个参数,第一个参数表示要查找的项,第二个参数表示开始查找的位置,当第二个参数省略的时候表示默认从第0个位置开始查找
alert(arr.indexOf(4));  //弹出3,因为4在数组中的索引值为3
alert(arr.indexOf(4,4)); //弹出-1,因为从第四个位置开始往后找的时候,找不到4这个元素
//跟该方法相同的还有一个lastIndexOf()方法,跟indexOf()方法不同的是,该方法是从后往前面开始找

# includes()

//接收两个参数,查询的项以及查询起始位置。
arr.includes(2);// 结果true,返回布尔值
arr.includes(20);// 结果:false,返回布尔值
arr.includes(2,3)//结果:false,返回布尔值

# fill()

//将数值填充到指定数组中
arr.fill(5)//arr[5,5,5,5,5]

# Array.from()/Array.of()

# entires() keys()&value()