数组常用方法

50 阅读2分钟

数组常用 API (详细方法参考MDN文档)

concat方法 合并两个数组
       let list = [1, 2, 3, 4]
        let list2 = ['a', 'b', 'c', 'd']
        // 数组方法 concat 合并两个数组
        const arr = list.concat(list2)
        // 输出结果
        [1, 2, 3, 4, 'a', 'b', 'c', 'd']

every 方法 检查数组中的值是否都符合条件 符合返回true 不符合返回false
        function list(val) {
            return val >= 6
        }
        const list1 = [5, 6, 4, 8, 9]
        const list2 = [6, 7, 8, 9]
        console.log(list1.every(list)); // false
        console.log(list2.every(list)); //true

filter过滤数组把符合条件值筛选出来 形成一个新的数组 有返回值
        const list1 = [5, 6, 4, 8, 9]
        const list = list1.filter(val => val >= 6)
        console.log(list) //返回值 [6,8,9]

find方法 返回数组中第一通过测试的值
        arr = [11, 34, 45, 13, 26]
        const found = arr.find(val => val > 25)
        console.log(found); // 34

findIndex 返回数组中第一个通过测试的索引号
        arr = [11, 34, 45, 13, 26]
        const index = arr.findIndex(val => val >= 28)
        const index1 = arr.findIndex(val => val >= 42)
        console.log(index); // 1
        console.log(index1); // 2

forEach 方法 循环遍历数组中的每个元素 没有return
        arr = [11, 34, 45, 13, 26]
        let sum = 0
        arr.forEach(val => {
            sum += val
        })
        console.log(sum)// 129

from 方法 将伪数组转化为真数组

includes 方法 检测数组中是否包含某个值 是则返回true 否 则返回false
        arr = [11, 34, 45, 13, 26]
        console.log(arr.includes(45)) // true
        console.log(arr.includes(30)) // false

indexOf 检测数组是否包含某个值 包含则返回这个值的索引 没有则返回 -1
        arr = [11, 34, 45, 13, 26]
        console.log(arr.indexOf(45)) // 2
        console.log(arr.indexOf(26)) // 4
        console.log(arr.indexOf(10)) // -1

isArray 检测对象是否为数组

join() 将数组转为字符串
        arr = [11, 34, 45, 13, 26]
        console.log(arr.join(',')) // 11,34,45,13,26

map() 方法 遍历循环数组中的每个元素 有返回值 返回一个新数组
        arr = [11, 34, 45, 13, 26]
        const arr1 = arr.map(val => val += val)
        console.log(arr1) // [22, 68, 90, 26, 52]

reduce()方法 
        arr = [11, 34, 45, 13, 26]
        // prev 必需。累计器累计回调的返回值; 表示上一次调用回调时的返回值,或者初始值 init;
        // cur 必需。表示当前正在处理的数组元素;
        // index 可选。表示当前正在处理的数组元素的索引,若提供 init 值,则起始索引为- 0,否则起始索引为1;
        // arr 可选。表示原数组;
        const arr1 = arr.reduce((prev, cur, index, arr) => {
            return prev + cur
        }, 0)
        console.log(arr1) //129

some()方法 检测数组是否有值通过检测条件 有就返回true 没有就返回 false
        arr = [11, 34, 45, 13, 26]
        const arr1 = arr.some(val => val > 34)
        const arr2 = arr.some(val => val > 45)
        console.log(arr1) // true
        console.log(arr2) // false