• npm包之array-flatten


    前言

    array-flatten用于对数组进行降维.

    使用

    const { flatten } = require("array-flatten"); // 降维数组
    console.log(flatten([1, [2, 666, [3, [4, [5], 6], 7], 8], 9]));
    

    附录源码

    // 指定深度展开
    function flattenWithDepth (array, result, depth) {
        for (var i = 0; i < array.length; i++) {
            var value = array[i]
    
            // 判断是否到了指定的深度 或者 当前数组是否已经全部展开
            if (depth > 0 && Array.isArray(value)) {
                flattenWithDepth(value, result, depth - 1)
            } else {
                result.push(value)
            }
        }
    
        return result
    }
    
    // 全部展开
    function flattenForever (array, result) {
        for (var i = 0; i < array.length; i++) {
            var value = array[i]
    
            if (Array.isArray(value)) {
                flattenForever(value, result)
            } else {
                result.push(value)
            }
        }
    
        return result
    }
    
    function arrayFlatten (array, depth) {
        if (depth == null) {
            return flattenForever(array, [])
        }
    
        return flattenWithDepth(array, [], depth)
    }
    
    console.log(arrayFlatten([1, [2, [3, [4, [5], 6], 7], 8], 9],  2));
    console.log(arrayFlatten([1, [2, 666, [3, [4, [5], 6], 7], 8], 9]));
    

    总结

    1. 可以直接将源码拷到项目里使用 0.0;
    2. 使用TS的记得使用它自带的声明文件 >_>;
  • 相关阅读:
    nginx1配置文件
    div中添加滚动条
    django错误笔记——1242 Subquery returns more than 1 row
    Django中合并同一个model的多个QuerySet
    js正则匹配数字字母汉字
    django错误笔记——URL
    python发送邮件
    SMTP——MIME
    Python读取Excel中的数据并导入到MySQL
    css3选择器
  • 原文地址:https://www.cnblogs.com/xpengp/p/12796331.html
Copyright © 2020-2023  润新知