首页 > 其他分享 >总结

总结

时间:2023-04-04 15:15:08浏览次数:33  
标签:总结 arr console log item let const

1.递归应用实例

/**
 * 递归一维数组变二维 
 */
let originalList = [1, 2, 3, 5, 7, 2, 4]

// 分行数据列表
let dataList = []

// 展示几行
let rowNum = 3
// 每行个数
const num = Math.ceil(originalList.length / rowNum)

// 处理数据 分成固定等分
const getItem = (list: any) => {
    dataList.push(list.splice(0, rowNum))

    if (list.length) {
        getItem(list)
    }
}

getItem(originalList)
console.log(dataList) // [[1, 2, 3], [5, 7, 2], [4]]

 2.动态获取图片

const getUrl = (imgName: string) => {
    const urlList = import.meta.globEager('../../assets/header/**.png')
    const path = `../../assets/header/${imgName}.png`
    return urlList[path].default
}

3.数组扁平化

const arr: any[] = [1, [[2, 3], 4], 5]

/**
 * 递归
 */
const flatten = (arr: Record<string, any>[]) => {
    let result: Record<string, any>[] = []
    arr.forEach((item) => {
        if (Array.isArray(item)) {
            result = result.concat(flatten(item))
        } else {
            result.push(item)
        }
    })
    return result
}

console.log(flatten(arr))

/**
 * flat:arr.flat() :默认操作一层 Infinity不论多少层 都展开
 */
console.log(arr.flat(Infinity))

/**
 * reduce:支持多层数组扁平
 */
const myFlat = (arr: any[]) =>
    arr.reduce(
        (pre, cur) => pre.concat(Array.isArray(cur) ? myFlat(cur) : cur),
        []
    )

console.log(myFlat(arr))

/**
 * 扩展运算符 + some
 */
const flatten2 = (arr: any[]) => {
    while (arr.some((item) => Array.isArray(item))) {
        arr = [].concat(...arr)
    }
    return arr
}
console.log(flatten2(arr))

/**
 * split 和 toString 共同处理:(有使用局限 数组各项均为字符串适用(其他类型会被转为字符串)) ×
 */
const flatten3 = (arr: any[]) => arr.toString().split(',')
console.log(flatten3(arr))

 4.vue3读取excel

import * as XLSX from 'xlsx'

const onChange = (res: Record<string, any>) => {
    const fileReader = new FileReader()
    fileReader.onload = (ev: any) => {
        try {
            const data = ev.target.result
            const workbook = XLSX.read(data, {
                type: 'binary'
            })
            let sheet = Object.keys(workbook.Sheets)[0]
            let json = XLSX.utils.sheet_to_json(workbook.Sheets[sheet]) //获得以第一列为键名的sheet数组对象

            console.log('excel内容----', json)
        } catch (e) {
            console.log(e)
        }
    }
    fileReader.readAsBinaryString(res.raw)
}

 5.vue3 使用keepalive

<!-- 配置化 -->
<router-view v-slot="{ Component }">
    <transition name="fade" mode="out-in">
        <div class="main-box">
            <keep-alive>
                <component
                    :is="markRaw(Component)"
                    v-if="$route.meta?.keepAlive"
                    :key="$route.fullPath"
                />
            </keep-alive>
            <component
                :is="markRaw(Component)"
                v-if="!$route.meta?.keepAlive"
                :key="$route.fullPath"
            />
        </div>
    </transition>
</router-view>


<!-- 使用include属性 -->
<router-view v-slot="{ Component }">
    <transition name="fade" mode="out-in">
        <div class="main-box">
            <!-- include格式 :include="'a,b'"  :include="['a','b']"  其中 a,b 为组件name 不是路由name!!-->
            <keep-alive :include="['a', 'b']">
                <component :is="markRaw(Component)" />
            </keep-alive>
        </div>
    </transition>
</router-view>

 

标签:总结,arr,console,log,item,let,const
From: https://www.cnblogs.com/wyctf/p/17286158.html

相关文章

  • 4.4学习总结(虚拟试衣算法初步框架构思)
    昨天上台演示了项目框架并且讲述了未来对项目规划的构思,我们组是最后一组,整体等待过程还是很煎熬的比我们队优秀的作品有很多,所以还是很有压力的不过我们会尽力在接下来的时间内,争取完成所介绍的所有功能......
  • beacon帧字段结构最全总结(二)——HT字段总结
    https://www.cnblogs.com/fengf233/p/10919436.htmlbeacon帧字段结构最全总结(二)——HT字段总结一.HTCapabilitiesHTCapabilities:802.11n的mac层给802.11的mac层加入了高吞吐量单元。所有新加的802.11n功能都是通过管理帧中的HT单元才得以实现,总体如下 抓包中......
  • 反爬虫常见策略总结
    有爬虫就有反爬虫,这都是相辅相成的,对于长时期从事在爬虫行业的技术员来说,时刻要了解对应网站的反爬机制,才能稳定获取数据。下面就是我这几年接触过的反爬的一些案例,供大家参考下。反爬虫反爬虫,即应对爬虫进行反制的统称,主要区分“正常用户”与“机器人”的一种策略统称。认识反......
  • 【初赛】各种排序算法总结
    一、算法评价排序方法平均时间最好时间最坏时间冒泡排序(稳定)O(n^2)O(n)O(n^2)选择排序(不稳定)O(n^2)O(n^2)O(n^2)插入排序(稳定)O(n^2)O(n)O(n^2)快速排序(不稳定)O(nlogn)O(nlogn)O(n^2)归并排序(稳定)O(nlogn)O(nlogn)O(nlogn)堆排序(不稳定)O(nlogn)O(nlogn)O(nlogn)基数排序......
  • 【SciPy】Sparse稀疏矩阵主要存储格式总结(转载)
    原文:【SciPy】Sparse稀疏矩阵主要存储格式总结在数据科学和深度学习等领域常会采用矩阵格式来存储数据,但当矩阵较为庞大且非零元素较少时,运算效率和存储有效率并不高。所以,通常我们采用Sparse稀疏矩阵的方式来存储矩阵,提高存储和运算效率。下面将对SciPy中七种常见的存储方式(COO/......
  • Objective-C的self.用法的一些总结
    关于什么时候用全局变量,什么时候用self.赋值的问题,其实是和Objective-c的存取方法有关,网上很多人也都这么解答的,不过如何与存取方式有关究竟他们之间的是什么样的关系就很少有同学回答了。我总结了一下,发出来给大家参考.有什么问题请大家斧正. 进入正题,我们经常会在官方文......
  • 每日总结2023-04-03
    今天初步学习了服务器,对于Android移动应用对服务器发送get或post请求等有初步了解。在配置okHttp上需要在AndroidMainfest.xml中添加<!--联网权限--><uses-permissionandroid:name="android.permission.INTERNET"/><!--接入wifi状态--><uses-permissi......
  • 4.3每日总结
     今天建民老师让我们团队做一个人脸识别签到的程序。  大致的功能有以下几点:1.人脸识别(单人或多人)完成签到2.人脸识别相似度要求(不低于90%,不识别静态)3.完成签到或排名,并对相应排名做出相应提示4.老师可以看未签到成员。......
  • 每日总结4.3
    今天是模型展示,已经在考虑别的题了   ......
  • 每日总结-23.3.4
    /*administratorsIsPass*管理员账号登录判断,判断是否可以登录*输入参数为:管理员账号,即id(String);密码,即pass(String)*若有此账号信息且密码核对成功,即登录成功,则返回true,若此账号未有记录或密码核对失败或已被删除,即登录失败,则返回false**/pu......