• array常用方法


    方法 描述
    concat() 连接两个或更多的数组,并返回结果。
    fill() 使用一个固定值来填充数组。
    find() 返回符合传入测试(函数)条件的数组元素。
    findIndex() 返回符合传入测试(函数)条件的数组元素索引。
    from() 通过给定的对象中创建一个数组。
    includes() 判断一个数组是否包含一个指定的值。
    indexOf() 搜索数组中的元素,并返回它所在的位置。
    lastIndexOf() 搜索数组中的元素,并返回它最后出现的位置。
    isArray() 判断对象是否为数组。
    join() 把数组的所有元素放入一个字符串。
    keys() 返回数组的可迭代对象,包含原始数组的键(key)。
    reverse() 反转数组的元素顺序。
    sort() 对数组的元素进行排序。
    slice() 选取数组的的一部分,并返回一个新数组。
    splice() 从数组中添加或删除元素。
    toString() 把数组转换为字符串,并返回结果。
    pop() 删除数组的最后一个元素并返回删除的元素。
    push() 向数组的末尾添加一个或更多元素,并返回新的长度。
    shift() 删除并返回数组的第一个元素。
    unshift() 向数组的开头添加一个或更多元素,并返回新的长度。

    Array.from()

    创建数组

    参数 描述
    object 必需,要转换为数组的对象。
    mapFunction 可选,数组中每个元素要调用的函数。
    thisValue 可选,映射函数(mapFunction)中的 this 对象。
    • 创建多个空数组
    Array.from({length:5},x=>{return })
    
    • 函数赋值
    let map = {
        do: function(n) {
            return n * 2;
        }
    }
    let arrayLike = [1, 2, 3];
    console.log(Array.from(arrayLike, function (n){
        return this.do(n);
    }, map)); // [2, 4, 6]
    

    flat()

    嵌套数组转一维数组

    console.log([1 ,[2, 3]].flat()); // [1, 2, 3]
    
    // 指定转换的嵌套层数
    console.log([1, [2, [3, [4, 5]]]].flat(2)); // [1, 2, 3, [4, 5]]
    
    // 不管嵌套多少层
    console.log([1, [2, [3, [4, 5]]]].flat(Infinity)); // [1, 2, 3, 4, 5]
    
    // 自动跳过空位
    console.log([1, [2, , 3]].flat()); // [1, 2, 3]
    
    • flatMap()

    先对数组中每个元素进行了的处理,再对数组执行 flat() 方法。

    // 参数1:遍历函数,该遍历函数可接受3个参数:当前元素、当前元素索引、原数组
    // 参数2:指定遍历函数中 this 的指向
    console.log([1, 2, 3].flatMap((n,i,arr) => [n * 2])); // [2, 4, 6]
    [1, 2, 3].flatMap(n => { return this.do(n); },map)
    

    合并对象

    a.push.apply(a,b);
    var newA = [...a,...b];
    newA .concat(a).concat(b)
    
  • 相关阅读:
    angularjs中的指令
    git笔记
    webpack.config.js
    webpack开发react常用插件和依赖
    angularjs中的分页指令
    angularjs中的排序和过滤
    react学习
    gulp学习
    Javascript 判断变量类型的陷阱 与 正确的处理方式
    Fn.bind.apply() 解决 new 操作符不能用与 apply 或 call 同时使用
  • 原文地址:https://www.cnblogs.com/ajaemp/p/11854926.html
Copyright © 2020-2023  润新知