丁鹿学堂前端培训:数组的进阶方法总结

79 阅读2分钟

01、Array.map()

返回一个新数组,其中包含对该数组中每个元素调用提供的函数处理的结果

let arr = [1,2,3]
let arr2 = arr.map(item=>{
    return item*2
})
console.log(arr2) //[ 2, 4, 6 ]

02、Array.filter()

返回一个新数组,其中包含通过所提供函数判断后返回真的所有元素。

let arr = [1,2,3,4,5,6,7]
let arr2 = arr.filter(item=>{
    return item >4
})
console.log(arr2) // [ 5, 6, 7 ]

03 Array.find()

返回数组中满足提供的测试函数的第一个元素的值。否则返回未定义。

可以和filter对比,filter是满足条件所有值的数组,find是返回符合的第一个值,并且结束循环。

let arr = [1,2,3,4,5]
let result = arr.find(item=>{
    return item >3
})
console.log(result) // 4

04、Array.findIndex()

返回数组中满足提供的测试函数的第一个元素的索引。否则,返回 -1

可以和find对比,find返回的是元素,findIndex返回的是符合的元素的索引

let arr = [1,3,4,5]
let resultIndex = arr.findIndex(item=>{
    return item >3
})
console.log(resultIndex) // 2

05、Array.includes()

如果给定元素存在于数组中,则返回 true。

很方便可以判断数组是否包含某个元素

let arr = [1,2,3,4,5]
let result = arr.includes(2)
console.log(result); // true

06、Array.some()

如果数组中至少有一个元素符合函数的结果,则返回 true。

let arr = [1,2,3,4,5]
let result = arr.some(item=>{
    return item >2
})
console.log(result);

07、Array.every()

如果数组中的所有元素都通过了提供的函数实现的测试,则返回 true。

let arr = [1,2,3,4,5]
let result = arr.every(item=>{
    return item >2
})
console.log(result);

08、Array.isArray()

如果给定值是一个数组,则返回 true。判断是不是数组很方便了

let arr = [1,2,3,4,5]
let result = Array.isArray(arr)
console.log(result);

09、Array.reduce()

将数组减少为单个值。函数返回的值存储在累加器中(结果/总计)。

reduce除了一个函数参数外,还有第二个参数,如果传了,就是作为累加的初始值。

reduce回调函数的第一个参数是数组的第一项,第二个参数是数组的第二项。每次return的结果再作为第一个参数参与数组的循环。

let arr = [1,2,3,4,5]
let result = arr.reduce((item1,item2)=>{
    return item1 + item2
},0)
console.log(result)  //15

快啦学习吧,提高效率早下班!