自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(307)
  • 收藏
  • 关注

原创 合并对象 递归注意对象的合并时机

/,然后添加detail(obj[key], keyStr).注意这个函数有可能是返回空的{}如a.d的时候就是返回空对象,因为逻辑是!//而正确方案都是让detail(obj[key], keyStr)去先执行,先进入递归,此时res已经被res = { ...res, ...sonObj };//两个方案的本质区别在于扩展顺序的不同,错误的方案是先展开res,此时还没有进入递归,res是空的{},后面虽然进入了递归也改变了res,但是展开运算在前面,时间线后面的无法去改变前面的所以是空的去展开。

2025-08-01 14:53:59 364

原创 手写数组洗牌算法

实现一个数组洗牌函数,使用Fisher-Yates(费雪-耶茨)洗牌算法,确保数组元素随机排列,每个元素在每个位置上的概率相等。:一个数组:洗牌后的数组(原地洗牌)

2025-07-25 18:43:06 783

原创 数组倒序遍历中splice操作的安全性分析.

倒序遍历结合splice是处理数组动态修改的安全高效方案索引变化仅影响已处理元素完全避免正序遍历中的元素跳过问题单一循环完成遍历与修改,时间复杂度O(n)适用于所有需要在遍历中修改数组的场景。

2025-07-25 16:28:09 174

原创 闭包的两种设计模式

闭包设计模式是 JavaScript 中强大的编程工具,通过合理运用辅助函数模式和工厂模式,可以写出更加优雅、可维护的代码。关键是要根据具体的使用场景选择合适的模式,并注意性能和内存管理的最佳实践。每个闭包创建独立的作用域环境工厂函数返回的每个实例都有独立的状态合理使用闭包可以实现强大的功能增强注意内存管理和性能优化。

2025-07-17 11:33:50 928

原创 链表的 哑结点的本质

关键理解:dummy从未"保存"current的变化dummy始终指向原始哑节点current在链表上移动,与dummy无直接关系dummy通过链表连接"看到"所有节点通过next指针的连接关系形成了的访问路径两个不同的概念变量指向dummy和current指向哪个节点节点连接:节点之间通过next形成的连接关系为什么需要current变量需要一个"移动指针"来遍历和构建链表需要一个"固定指针"来保持对头节点的引用这两个职责不能由同一个变量承担你的理解有一个关键误区:相同点。

2025-07-15 15:39:33 298

原创 反转链表 更好的理解

链表反转就是拿着两个指针,一边走一边把箭头掉头,最后prev指向的就是新的起点!

2025-07-14 14:24:35 278

原创 数组转化链表

执行顺序理解错误错误认知:边界检查可以放在递归调用后实际情况:必须先检查边界再递归,否则无法终止。

2025-07-11 17:19:06 388

原创 并发控制 超级简单版

【代码】并发控制 超级简单版。

2025-07-11 11:34:27 111

原创 缓存函数最后需要返回结果

2025-07-10 17:36:15 71

原创 二维数组调换

【代码】二维数组调换。

2025-07-03 11:17:16 71

原创 归并排序详解

每次合并都需要创建新数组,虽然递归有多层,但同一时间只有一条路径在执行,所以总空间是 O(n)。

2025-06-26 11:22:49 494

原创 堆排序详解

/ 假设当前节点是最大的。console.log(“\n排序完成:”, arr.join(', '));总体复杂度 O(n log n) 构建堆O(n) + 排序O(n log n)console.log(“原始数组:”, arr.join(', '));console.log(“构建堆后:”, arr.join(', '));数组:[10, 8, 9, 4, 7, 5, 3, 2, 1, 6]

2025-06-23 15:28:06 831

原创 记一次错误 深拷贝 key值全部小写

obj[key]:指向原始对象的引用,未经过递归处理:指向递归处理后的新对象。

2025-06-12 17:29:25 257

原创 回溯算法 递归调用栈详解

调用栈是LIFO结构:最后调用的函数最先返回栈帧包含执行上下文:参数、局部变量、返回地址return语句触发栈帧弹出:程序自动回到调用点继续执行引用类型变量在递归中共享:这是回溯算法能工作的基础明确的终止条件防止栈溢出:递归必须有出口回溯 = 撤销选择:在从递归返回后撤销之前的修改每次递归调用都是在探索一种可能性,而return则是回到上一个决策点,继续探索其他可能性。

2025-06-12 11:11:35 694

原创 异步并发控制代码详细分析

并发槽位管理:通过和limit控制同时执行的任务数动态调度:每个任务完成时立即尝试启动新任务(递归调用顺序保证:使用闭包中的taskIndex确保结果按原数组顺序存储流水线执行:不等待批次完成,而是任务完成即补充,最大化并发效率这种设计实现了受限并发的流水线处理,既控制了资源使用,又保证了高效执行和结果有序性。

2025-05-30 17:24:36 476

原创 tx eslint规则

【代码】tx eslint规则。

2025-05-20 15:48:32 113

原创 【无标题】好用的远程链接插件

现在在做后端开发有的时候需要链接到远程服务器,有很多插件看不到整体的目录结构。推荐 trae的 ssh Client。

2025-04-29 16:21:16 319

原创 记一次大文件 git推不上代码文件大小超过100M

看来这些大文件仍然在 Git 的历史记录中。我们需要使用更强力的方法来清理它们。现在你的仓库应该已经清理干净了,不再包含那些大型日志文件。以后这些日志文件会被 .gitignore 忽略,不会再被提交到仓库中。这个错误是因为你尝试推送到 GitHub 的文件超过了 GitHub 的文件大小限制(100MB)。好的,我来帮你处理推送问题。使用 git filter-branch 命令从 Git 历史记录中完全删除了大文件。看来我们需要先处理未暂存的更改。好的,我们看到有一些更改需要提交。我可以帮你具体实施。

2025-04-15 17:18:26 980

原创 远程服务器下 每次装包的时候都提示我没有装cross-env

之前写的是 --production 命令。这个命令只会安装 package.json 中 dependencies 下的依赖,而不会安装 devDependencies 下的依赖。

2025-04-15 17:02:37 143

原创 nodejs 中关于path的方法

在Node.js的path模块中,主要有以下常用方法:

2025-04-07 16:08:45 296

原创 JavaScript reduce 方法详解

/ 输出: { apple: 3, banana: 2, orange: 1 }console.log(flatArray);// 输出: [1, 2, 3, 4, 5, 6]虽然 reduce 可以实现 map 、 filter 的功能,但应选择最适合的方法。accumulator (acc):累加器,存储上一次回调的返回值。currentValue (cur):当前正在处理的数组元素。如果不提供初始值,数组第一个元素将作为初始值。总是提供初始值,避免空数组报错。

2025-04-02 15:04:08 253

原创 解决热跟新失效

2025-03-28 15:28:19 88

原创 git 安全监控

推代码的时候发现推不了,原来是代码里面有密文,直接点击就好。

2025-03-26 16:57:12 106

原创 css 父选择器

css 父选择器

2025-03-24 10:58:22 272

原创 滚动元素的新api

点击的时候需要双重视图滚动。

2025-03-18 17:20:02 469

原创 前端自动化部署

【代码】前端自动化部署。

2025-03-13 14:21:23 111

原创 ssh链接远程服务器 查看远程服务器的端口号

111

2025-03-06 17:41:37 132

原创 ng配置 解决跨域

【代码】ng配置 解决跨域。

2025-03-06 17:11:11 112

原创 更改第三方包

在这里插入图片描述。

2025-02-20 10:36:42 340

原创 手写无缝轮播图

【代码】手写无缝轮播图。

2024-09-12 14:15:06 187

原创 js 克隆节点时也克隆事件

在JavaScript中,克隆一个节点时,事件监听器默认不会被克隆。如果你需要克隆事件监听器,你可以手动复制它们。

2024-09-12 13:54:15 291

原创 低安卓版本页面空白适配

原因 :无法适配e6语法。

2024-08-17 10:49:46 348

原创 axios 取消token 模糊搜索

console.log(‘上一个请求已被取消:’, thrown.message);// 创建一个取消令牌源(cancel token source)// 将新令牌赋值给全局变量 source,以便于下次取消。source.cancel(‘取消上一个请求’);// 发起请求前取消上一个请求(如果还没有完成)axios.get(‘你的搜索API’, {// 发起新的请求,并使用新的取消令牌。// 创建新的取消令牌。// 绑定输入框的事件。// 下拉框搜索函数。

2024-05-13 16:06:24 400 1

原创 axios 取消token 模糊搜索

console.log(‘上一个请求已被取消:’, thrown.message);// 创建一个取消令牌源(cancel token source)// 将新令牌赋值给全局变量 source,以便于下次取消。source.cancel(‘取消上一个请求’);// 发起请求前取消上一个请求(如果还没有完成)axios.get(‘你的搜索API’, {// 发起新的请求,并使用新的取消令牌。// 创建新的取消令牌。// 绑定输入框的事件。// 下拉框搜索函数。

2024-05-08 18:37:51 455 1

原创 css 让所有的英文首字母都变大写

【代码】css 让所有的英文都变大写。

2024-03-08 11:40:03 624 1

原创 el-el-dialog 弹窗抖动 完美解决

* 以下css是用来解决el-diao 窗口抖动的问题 */

2024-03-07 19:45:08 665 1

原创 封装金额组件输入框

【代码】封装金额组件输入框。

2024-03-07 16:03:50 710 1

原创 git回退代码后如何让本地代码和远程代码保持一致

git reset --hard origin/kyf1.3 让本地代码强制和远程代码保持一致。git 回退到远程以后 git push -f 推到远程以后。别人 先git stash 保存现有代码。别人需要强制的让本地代码和远程保持一致。

2024-02-05 10:49:57 836 1

原创 英文排版css

【代码】英文排版css。

2024-02-04 15:42:34 435 1

原创 Syntax Error: SassError: This file is already being loaded. 这个错误。原因是将这个scss文件重复引入了, 修改如下:

【代码】Syntax Error: SassError: This file is already being loaded. 这个错误。

2024-01-19 11:17:31 2037 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除