- 博客(229)
- 资源 (2)
- 收藏
- 关注
原创 【Object.keys】顺序问题
在原型链的每个组件中,所有非负整数键(可以作为数组索引)将首先按值升序遍历,然后是其他字符串键按属性创建的先后顺序升序遍历。Object.values() 返回的数组顺序也和与 for…in 循环提供的顺序相同。遍历先判断key是否是非负整数,如果是按照升序排列取出,其余字段按照创建的先后顺序取出来。Object.keys() 返回的数组顺序和与 for…in 循环提供的顺序相同。for in会遍历原型链上的属性Object.keys不会。根据现代 ECMAScript 规范的定义,
2025-01-13 15:41:49
229
原创 【问题排查】axios下载文件,文件名获取不到
二进制流下载文件,从response header里面获取文件名,后端也设置了header【Content-Disposition】的值为【attachment;network查看请求,response header的确是有值,但是axios获取header的值,永远只有content-type。
2024-12-11 16:33:36
358
原创 【ds】二维数组中的查找
请 完成一个函数,输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。在一个二维数组array中(每个一维数组的长度相同)每一列都按照 从上到下递增的顺序排序。每一行都按照 从左到右递增的顺序排序。
2024-04-20 15:22:51
96
原创 【antd checkbox】 form表单checkbox 但是checkbox不受控
原因:checkbox比较特殊,值绑定用checked,所以需要对form做特殊配置。问题:form表单里面checkbox不能绑定数据。
2024-04-16 17:02:23
916
2
原创 【ds】 数组中重复的数字
n-1的范围内.数组中某些数字是重复的,但不知道有几个数字重复了,也不知道每个数字重复了几次.请找出数组中任意一个重复的数字.例如,如果输入长度为7的数组{2,一,哈希表存储数字为key的对象,遍历数组,时间复杂度O(n), 空间复杂度O(n)如果数组中有重复的数字,那么有的位置存在多个数字,有的位置可能没有数字。3, 1, 0, 2, 5, 3},那么对应的数字是重复的数字2或3.题目一: 在一个长度为n的数组里的所有数字都在0 ~如果这个数组中没有重复的数字,那么排序之后数字。
2024-04-14 15:17:01
186
原创 【javascript】关于patch-package
3, 修改node_modules目录下的源码,我们目前遇到的vue-pdf预览问题,是修改 node_modules\pdfjs-dist\es5\build\pdf.worker.js 这个文件下面的,_this3.setFlags(_util.AnnotationFlag.HIDDEN);这个包的原理是先记录你的改动,install之后,根据这个patches文件改动源信息,去执行脚本更新这个依赖包里面的内容。一个老的vue项目,预览pdf文件的时候,电子签章不显示。运行代码,预览问题已经解决了。
2023-07-31 16:30:17
973
原创 【typescript】微信小程序扩展你的全局wx对象
比如 xxx.d.ts文件,确保这个文件有被tsconfig.json识别到。1, 找到你的ts定义文件。
2023-04-24 14:59:47
1066
原创 typescript记录
最近需要扩展Funcion类型,增加一个布尔类型的属性值。1,可以自定义类型type OwnFunc = Function & { once?: boolean } 2,也可以声明接口interface OwnFunc { ():any once?: boolean}
2021-10-09 16:28:35
168
原创 性能优化-循环优化[三]
独立于语言递归使用迭代替换递归调用栈太深,所有递归都能用迭代实现。考虑斐波那契数列用迭代实现迭代的优化Duff's Device 减少迭代的次数// 初始化要处理的数组 与handle函数const process = (n)=> n * nvar arr = new Array(100000)for (let i= 0, len = arr.length; i < len; i++) { arr[i] = i}let len = arr.length// 原始
2021-07-18 18:03:10
218
原创 javascript 性能优化--数据存储与DOM相关【二】
这里写自定义目录标题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Mar
2021-07-12 16:21:53
353
原创 javascript 性能优化--脚本的加载执行【一】
多数浏览器使用单一进程来处理用户界面【UI】刷新和JS代码执行,所以同一时刻只能做 一件事。JS执行过程耗时越久,浏览器等待响应的时间就越长。
2021-07-04 16:01:03
273
原创 148. sort list 排序链表
148题排序链表题目要求:O(n log n) 时间复杂度和常数级空间复杂度下方法 1, 暴力法,取出来放数组里面,排序,然后重新生成链表,但是不符合题目的要求 2,递归 【自上而下】 思路就是: 2-1,找到链表的中间点(参考找到链表中间点) 2-2,对 中间点分割成为的两个链表分别进行排序,到这里就是调用自己了,递归,对两个链表进行排序。 2-3, 然后合并这两个 有序链表(参考合并有序数组) 3,迭代 【自下而
2021-03-07 16:32:48
418
原创 876. Middle of the Linked List 利用快慢指针求链表的中间节点
比如链表结构为1->2->3->4->5 此时中间节点为 3如果链表结构为 1->2->3->4 此时中间节点为2或者3节点定义利用golang来描述这个实现过程,ListNode的节点实现type ListNode struct { Val int Next *ListNode}实现func middleNode(head *ListNode) *ListNode { slow := head fast := head // 循环遍历完
2021-02-19 21:47:47
164
原创 给定一个数组,正序遍历和逆序遍历构造一个链表
链表基础 单链表的数据定义为: function ListNode(val) { this.val = val; this.next = null; } 需求:给定一个数组 比如 [ 2, 5, 9, 10] 构造一个单链表,结果为2 -> 5 -> 9 -> 10, 但是需要以两种方式去做, 正序遍历构造: function constructLinkedList(arr) { let dummy = new List
2021-01-24 17:43:10
233
原创 centOS内网安装kubernetes集群
最近需要在公司内部网络安装一个k8s集群,内部机器是没法访问外网的,只能访问内部的镜像仓库,和yum库。 实际上还是参考的这两篇文章【文章一】和 【文章二】。只不过重要的几个步骤需要特殊处理下1,更新yum源 添加kubernetes YUM软件源,这个是内网的源。不是公网的,确保内部yum源有资源。 然后再执行安装命令 ,我遇到的问题是三个一起装,kubelet版本一直是最新的,所以分开安装。中途可能会遇到错误提示这里需要手动安装一下 kubernetes-cniyum
2021-01-19 20:30:18
7701
4
原创 kubetcl join node节点加入集群 卡住,无响应
遇到这个问题卡住,找老久才找到原因,所以记录一下:在kubectl join xxxx 的最后加入一个参数--v=2,可以查看具体的详情日志,查了老半天比如 这是我的join命令,ip 和token等已经模糊处理kubeadm join 10.xxx.xxx.41:6443 --token h17xld.xxxxxxxxxxxx \ --discovery-token-ca-cert-hash sha256:xxxxxxxcadba77d56e66a429d695041c6e2c4560af
2021-01-15 09:43:48
4108
原创 求最大公约数
迭代版本 function getCd(a, b) { if (a * b < 0) return 1 if (a ==0 || b == 0) return 0 while( a % b != 0 ){ var c = a % b; a = b; b = c; } return b }递归版本 function getCd(a, b) { if (a == 0 || b == 0) return 0
2021-01-09 17:36:44
1193
原创 golang实现tcp客户端服务端程序
服务端代码:package mainimport ( "bufio" "errors" "flag" "fmt" "net" "os" "strconv")// 指定一个命令行参数的名字var port intfunc Init() { flag.IntVar(&port, "port", 8081, "set your server port")}func main() { // 初始化命令行变量 Init() flag.Parse() // 监
2020-12-27 14:49:40
951
原创 寻找有序数组中元素第一次出现的索引和最后一次出现的索引
有序数组 比如 [1,2,3,4,4,4] 这个在js里面可以直接使用findIndex与lastIndexOf来求出,如果我们自己用代码实现该如何做呢? 看到有序数组的查找,没错,二分 二分,对于有序的数据,总能用二分去解决。findIndex的实现代码:var findFirstIndex = (arr, target) => { let l = 0 let r = arr.length - 1 while(l <= r) { let mid = Ma
2020-12-12 23:59:20
2168
原创 【排序】计数排序
为什么记录这个在做 leetcode 561 题的时候,第三种解法,看了很久才明白,是做了一次计数排序。这个题,直接看第二种和第三种解法。 第二种的排序时间复杂度是O(nlogn) 第三种的排序时间复杂度是O(n)直接看计数排序代码:var countSort = (nums) => { // 这里arr的长度没有设定,利用了javascript的语言特性 // 其他语言,这里的长度应该要保证 arr[Math.max(...nums)]不会越界 let arr
2020-11-21 16:13:22
140
1
原创 找到一个数组的【所有奇数个数的】子数组
var getSubOddArrays = function(arr) { let res = [] for (let i = 0; i < arr.length; i++) { for (let oddLen = 1; (oddLen + i) <= arr.length; oddLen += 2) { res.push(arr.slice(i, i+oddLen)) } } return res };
2020-11-12 17:20:28
589
原创 vue3升级概览
都来自于官网的的升级文档,官网文档点击我异步组件1, overview2.x(before)// simpleconst asyncPage = () => import('./NextPage.vue')//advancedconst asyncPage = { component: () => import('./NextPage.vue'), delay: 200, timeout: 3000, error: ErrorComponent, load
2020-10-20 20:26:50
440
原创 git cherry-pick
错误操作: 现在在dev分支,提交了一些代码。但是实际上我们应该在自己的feature分支做修改。 所以我们需要将dev这些commit合并到 feature分支上面。 注意: 是特定的commit,不是整个分支合并过去。现在我们有dev分支和feature-01分支。# 切到feature分支git checkout feature-01# 将某一次在dev分支的提交commitId合并到feature-01分支上,单次提交git cherry-pick commit_i
2020-10-17 15:53:25
652
原创 【排序】归并排序
归并排序 归并操作(merge),也叫归并算法,指的是将两个已经排序的序列合并成一个序列的操作. 参考之前的,合并两个有序数组这里我们合并两个有序数组。可以做到排序操作,但是前提是两个有序序列。 对一个杂乱无序的序列,我们可以递归的将两个子序列排列成有序的序列, 子序列可以通过二分法再次划分为两个子序列,直到最后两个子序列只有一个数据。 分治法的应用。实现 /** * 归并排序 - 递归方式实现 */ var sort = (arr) => {
2020-10-11 15:39:22
155
原创 【排序】快速排序
快速排序 快速排序和冒泡排序都是是交换排序中的一种。基本思想 1,在数列中找准一个基准点pivot。 2,将比基准点小的所有值放在基准点的左边,将比基准点大的放在基准点的右边【相等的可以任意放置】。 3,对左边的子数列和右边的子数列,重复1到3的步骤。分而治之,是的递归来了。代码 var sort = (arr, low, high) => { if (!arr || arr.length === 1) return arr // 重要的边界条件
2020-10-10 14:37:29
122
原创 【排序】冒泡排序
冒泡排序(英语:Bubble Sort)又称为泡式排序,是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。假定数组为arr,长度为n第1个元素开始,比较n-1次,第1次走完,最大(or最小)已经在最后一个位置上。第2个元素开始,比较n-2次,第2次走完,第二大(or第二小)在倒数第二个位置上。…第n-1个元素开始,比较1次。第n个元素,不需要比较。代码长这样:var
2020-10-10 13:07:15
272
原创 插入排序-简单插入排序和二分插入排序
插入排序:插入排序(英语:Insertion Sort)是一种简单直观的排序算法。它的工作原理是通过构建有序序列,对于未排序数据,在已排序序列中从后向前扫描,找到相应位置并插入。插入排序在实现上,通常采用in-place排序(即只需用到O(1)的额外空间的排序),因而在从后向前扫描过程中,需要反复把已排序元素逐步向后挪位,为最新元素提供插入空间。基本思想每一步都是将 待排序的一个数据,插入到一个已经有序的数据序列里面。直到所有的数据全部插入为止。类似于打牌【斗地主】,每摸一张就按照顺序放到位置。每
2020-10-08 15:06:07
374
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人