- 博客(31)
- 收藏
- 关注
原创 react菜单栏多种处理方案
cnpm install react-router-dom --savereact-router-dom里包含了react-router的依赖,因此我们在安装的时候只需要安装后者即可。路由<Router> <Switch> {/*只匹配其中一个 */} {routes.map((item, index) => { return (<Route excat key={index} path={item.path} compo
2021-01-30 21:44:19 315
原创 js继承
桶排序在计数排序中,如果元素的范围比较大将元素分在不同的桶中, 在对每个桶中的元素进行排序假设1000最大数, 分10个桶, 0 - 91000也得放在9号桶桶排序取决于数据的分布,分布这里使用插入排序O(n+k)function fn(arr, n = 10, maxnum) { let bucket = new Array(n); bucket.fill([]); for (var i = 0; i < arr.length; i++) {
2021-01-24 21:18:38 93
原创 计数排序
时间复杂度O(n+k)// (1)找出待排序的数组中最大和最小的元素// (2)统计数组中每个值为i的元素出现的次数,// 存入数组C的第i项 let arr = [3, 5, 1, 8, 1, 3, 6, 5, 4, 5] function fn(arr, maxValue) { let arr1 = arr1.fill(0, 0, maxValue+1) for (var i = 0; i <
2021-01-24 19:09:03 53
原创 希尔排序
希尔排序是一种分组插入排序的算法首先取一个整数d1 = n / 2, 将元素分为d1个组每组相邻量元素之间距离为d1, 在各组内进行直接插入排序取第二个整数d2 = d1 / 2, 重复上诉分组的排序过程,直到d1 = 1, 即所有元素在同一组内进行直接插入排序希尔排序每趟并不是使某些元素有序,而是使整体数据越来越接近有序,最后一趟排序使得所有数据有序let arr = [7, 9, 2, 3, 1, 4, 5, 6, 8, 0]function fn(arr, gap) { //初始
2021-01-24 14:43:13 103
原创 归并排序
归并排序图解` let arr = [2, 0, 6, 3, 1, 8]; function fn(arr, low, high) { //递归终止条件,1个或0个, //low<high说明至少有2个就,继续递归 if (low < high) { let mid = parseInt((low + high) / 2); fn(arr, low, mid); fn(arr, mid + 1, high); merge(arr, lo
2021-01-24 13:37:54 88
原创 topk问题
排序后切片 O(nlogn)冒泡排序,只排k个数O(kn)解决思路:堆排序O(mlogk)取列表前K个元素建立一个小根堆,堆顶就是目前第K个大数依次向后遍历原列表,对于列表中的元素,如果小于堆顶,则忽略该元素,如果大于堆顶,则将堆顶更换为该元素,斌且对堆顶进行一次调整遍历所有列表元素后,倒序弹出堆顶 function shift(arr, low, high) { //调整函数 因为构建堆也需要用到调整函数 let i = low; //i指的是父亲这一层 //一个堆,父
2021-01-23 17:55:42 98
原创 堆排序
树二叉树 度不超过2的树 每个节点最多有2个孩子节点 分为左孩子节点和右孩子节点满二叉树 一个二叉树,如果每一个层的节点都达到最大值, 则这个二叉树就是满二叉树。完全二叉树 叶节点只能出现在最下层和次下层,并且 最下层的节点都集中再该层最左变的诺干 位置的二叉树 (最下一排可以不满,但必须是从左到右一次排列)堆 一种特殊的完全二叉树 ### 大根堆 一颗完全二叉树,满足任一节点都比其他孩子节点大 ### 小根堆 一颗完全二叉树,满足任一节点都比其他孩子节点小
2021-01-23 10:55:58 59
原创 快速排序理解加复习
let arr = [7, 9, 2, 5, 3, 1, 4, 3, 5, 6, 8, 0]; // 取一个元素P(挖一个坑) // 把下标为0当坑,从后面找符合条件的补 // 把下标为最后一个的当坑,从前面找符合条件的补 //使p元素归位,列表被p分为2部分 // (先用归位函数算出中间下标的位置) //左边比p小,右边比p大, // 递归完成排序 function fn(arr, left, right) { // 递归终止条件 left小于right if.
2021-01-22 09:58:56 60
原创 插入排序
第一种写法 let arr = [7, 9, 2, 3, 1, 4, 5, 6, 8, 0] function fn(arr) { //初始手里(有序区)只有一张牌 //每次(从无序区)摸一张牌,插入到手里已有牌的正确位置 for (var i = 1; i < arr.length; i++) { let temp = arr[i]; //i表示摸到手里的牌 let index = i; //j表示有序列表里面的牌 for (var j = i
2021-01-21 17:22:16 60
原创 选择排序
let arr = [2, 3, 1, 4, 5, 6, 7, 9, 8, 0] function fn(arr) { //一趟排序记录最小的数,放到第一个位置 //再一趟排序记录列表无序区的最小数,放到第二个位置 //关键,找到最小值的位置,交换 for (var i = 0; i < arr.length - 1; i++) { let index = i; // 最小值是min出现位置是index for (var j = i; j < ar..
2021-01-21 12:47:37 51
原创 冒泡排序加优化
let arr = [0, 2, 3, 1, 4, 5, 6, 7, 8, 9] // 列表每2个相邻的数,如果前面比后面大,则交换 // 一趟排序完成后,则无序区减少一个数,有序区加一个数 function fn(arr) { let flag = null; //优化 for (var i = 0; i < arr.length - 1; i++) { flag = false; for (var j = 0; j < arr.length - 1 .
2021-01-21 12:05:34 74
原创 二分查找
let arr = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] function fn(n) { let left = 0; let right = arr.length - 1; let mid = null; while (left <= right) { mid = parseInt((left + right) / 2); if (arr[mid] < n) { left = mid + 1 } else .
2021-01-21 12:05:04 41
原创 汉诺塔
// 0 0// 1 1// 2 3// 3 7公式 分3步1.把n-1个盘子从A经过C移动到B2.把第n个盘子从A移动到C3.把n-1个盘子从B经过A移动到C根据结论写代码function fn(n) { if (n <= 0) { return 0 } return 2 * fn(n - 1) + 1}console.log(fn(2));...
2021-01-20 21:50:07 43
原创 动画3d立方体
给立方体的元素的父级加transform-style:preserve-3dtransform: prespective(800px)单独定义的perspective只在初次渲染时,投影在屏幕上。
2021-01-15 20:59:02 73
原创 promise的理解
promisepromise是为了解决回调地狱的,并且他的then是微任务他有3个状态,默认是pendding状态fulfilled 成功状态rejected 失败状态Promise对象的状态不受外界影响状态一旦改变是不可逆的,任何时候都可以得到这个结果asyncasync/await是基于promise实现的,他不能用于普通的回调函数async/await使得异步代码看起来像同步代码async/await与Promise一样,是非阻塞的。对返回结果没有依赖的话,async不适合
2021-01-15 14:44:41 128
原创 js事件委托
子级的事件函数统一交给父级处理,节省性能,减少事件注册,并且对新增子元素无需再次绑定e.currentTaget绑定事件的元素e.traget触发事件的元素阻止默认事件e.preventDefault();阻止冒泡e.stopPropagation();...
2021-01-15 14:33:55 53
原创 js浏览器缓存
浏览器缓存,HTTP缓存有多种规则,根据是否需要重新向服务器发起请求来分类,我将其分为强制缓存,对比缓存(协商缓存)。强缓存主要通过http响应头中的Cache-Control和Expires两个字段来控制的对比缓存通过HTTP的last-modified,Etag字段进行判断。...
2021-01-14 10:09:17 427
原创 最新nuxt学习笔记
第一步安装1.npx create-nuxt-app demoname2. js3. npm4. ui库 none5. 服务端渲染的框架 express koa都可以6. axios7. 选代码校验工具 都不选8. Universal SSR9. 选开发工具vscode或者其他工具第二步分析目录结构分析目录结构,这里我就不复制粘贴了看官网介绍的很清楚https://www.nuxtjs.cn/guide/plugins第三步分析nuxt钩子函数1.红色的区域是nuxt生命周期,
2021-01-14 09:28:01 119
原创 secc5面试题
1、vue生命周期都有哪些?组件生命周期beforeCreate(创建前),在数据观测和初始化事件还未开始created(创建后),完成数据观测,属性和方法的运算,初始化事件,$el属性还没有显示出来beforeMount(载入前),在挂载开始之前被调用,相关的render函数首次被调用。实例已完成以下的配置:编译模板,把data里面的数据和模板生成html。注意此时还没有挂载html到页面上。mounted(载入后),在el 被新创建的 vm.$el 替换,并挂载到实例上去之后调用。实例已完成以
2021-01-12 11:37:09 279
原创 vue webpack配置
bug有可能是版本问题,指定低版本cnpm i -S terser-webpack-plugin@2 就可以了有可能是单词写错了有可能是依赖包出错了,全部删了重新下载css文件打包css怎么引入? 是在index.js引入, 因为webpack是以js为入口webpack默认不支持css打包,若要支持需要css-loadercnpm i -S css-loader配置css-loader, 见webpack.config.jscss-loader只是装载css文件,不会把装载后的文件整
2021-01-10 13:39:43 303 2
原创 vue请求拦截案例
import axios from 'axios';import {getToken} from '@/utils/token'import { Message } from 'element-ui'axios.defaults.baseURL = 'http://139.196.42.209:5004/api/';//请求拦截器axios.interceptors.request.use(function(config){ //在发送请求前 config.headers['to
2021-01-09 19:12:33 150
原创 vue路由拦截案例
在根目录下创建一个permssion.js在mainjs里面引入import Vue from 'vue'import App from './App.vue'import router from './router'import store from './store'import ElementUI from 'element-ui';import 'element-ui/lib/theme-chalk/index.css';import '@/styles/index.scss'i
2021-01-09 19:08:48 239
原创 vue多页面应用 webpack配置
更改webpack配置需要重启项目第一种带注释module.exports = { pages: { page1: { //文件夹创建安装当前路径创建就可以 //比如entry 从src下面创建pages,pages里面创建page1 //pege1里面创建main.js //入口文件,相对于多页面应用的main.js,必须 entry: 'src/pages/page1/main.js', //生成应用模板,,省略默认与模块名一致 template: "
2021-01-09 19:00:46 397
原创 IT笔录 mockjs
使用步骤1. 建立mock文件夹2. cnpm i mockjs3. import mock from 'mockjs'4. export default mock5. mainjsvue实例里面引入数据mock文件夹下的gpcgpc文件下的mockDataRecommendRoute.jsexport const data = { 'class|3': 'a', 'list|3': [{ name: "@cname", 'id|+1': 1, 'guid': '@gu
2021-01-09 12:37:23 119
原创 简单的前端网页分享功能怎么做?
能看懂的方式<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>1、新浪微博<a href="http://v.t.sina.com.cn/share/share.php?url=http://www.jb51.net&title='分
2021-01-06 13:59:41 3487
原创 vue后台管理系统需要的知识架构
https://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=2651565146&idx=1&sn=f02b1779c880bd596cdacff69a9e42a0&chksm=80257b9bb752f28d09d737a887c90f61941813155ae1c025c4e5ee5fa0c7508e883246897ba6&scene=21#wechat_redirect
2021-01-06 10:18:51 185
原创 vue项目优化
https://mp.weixin.qq.com/s?__biz=MzAxODE2MjM1MA==&mid=2651560646&idx=2&sn=974b72c456279cfacc2853a05233ed95&chksm=80254d07b752c411af5f3b9dcef44b025cc94916c13859186247cf08eef0a45ddf8b07f75088&scene=21#wechat_redirect
2021-01-01 09:44:17 64
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人