- 博客(198)
- 收藏
- 关注
原创 Ajax01-基础
使浏览器的XMLHttpRequest对象与服务器通信浏览器网页中,使用 AJAX技术(XHR对象)发起获取省份列表数据的请求,服务器代码响应准备好的省份列表数据给前端,前端拿到数据数组以后,展示到网页。
2025-05-22 15:00:48
920
原创 JS进阶学习03
构造函数通过原型分配的函数是所有对象所 共享的。- JavaScript 规定,每一个构造函数都有一个 prototype 属性,指向另一个对象,所以我们也称为原型对象- 这个对象可以挂载函数,对象实例化不会多次创建原型上函数,节约内存- 我们可以把那些不变的方法,直接定义在 prototype 对象上,这样所有对象的实例就可以共享这些方法。- 构造函数和原型对象中的this 都指向 实例化的对象<script>// 此处未定义任何方法// 为构造函数的原型对象添加方法。
2025-05-20 21:50:45
994
原创 JS进阶学习02
1. 什么是实例成员?实例对象的属性和方法即为实例成员2. 什么是静态成员?构造函数的属性和方法被称为静态成员1. 推荐使用字面量方式声明数组,而不是 `Array` 构造函数2. 实例方法 `forEach` 用于遍历数组,替代 `for` 循环 (重点)3. 实例方法 `filter` 过滤数组单元值,生成新数组(重点)4. 实例方法 `map` 迭代原数组,生成新数组(重点)5. 实例方法 `join` 数组元素拼接为字符串,返回字符串(重点)
2025-05-19 19:48:47
527
原创 JS进阶学习01
1.展开运算符主要的作用是?可以把数组展开,可以利用数组最大值以及合并数组等操作2.展开运算符和剩余参数有什么区别展开运算符主要是数组展开剩余参数在函数内部使用。
2025-05-18 16:30:16
852
原创 hot100-子串-JS
提示给你一个整数数组nums和一个整数k,请你统计并返回该数组中和为k的子数组的个数。子数组是数组中元素的连续非空序列。22。
2025-05-10 23:47:53
728
原创 hot100-滑动窗口-JS
滑动窗口算法是一种用于解决字符串和数组问题的有效方法,其核心在于维护一个动态的窗口,通过调整窗口的左右边界来满足特定条件。在“无重复字符的最长子串”问题中,算法通过右移右端点扩大窗口,当遇到重复字符时,左移左端点以缩小窗口,确保窗口内字符不重复,最终找到最长无重复子串的长度。在“找到字符串中所有字母异位词”问题中,算法通过滑动窗口在字符串s中寻找与字符串p长度相同且字符频率一致的子串,记录这些子串的起始索引。这两种问题都展示了滑动窗口算法在处理字符串问题中的高效性和灵活性。
2025-05-09 18:30:13
605
原创 只用Prettier进行格式化项目
1.下载Prettier插件,禁用ESlint。2.在项目根目录新建.prettierrc文件。在设置的setting.json中写入 即可。
2025-05-04 20:43:32
296
原创 二叉树 - JS - 2
在这个二叉树中,有两个左叶子,分别是 9 和 15,所以返回 24。 来遍历所有可能的路径。,返回所有从根节点到叶子节点的路径。给你一个二叉树的根节点。是指没有子节点的节点。,返回所有左叶子之和。
2025-05-03 21:52:19
822
原创 ResizeObserver loop completed with undelivered notifications
这是浏览器用来监听元素尺寸变化的工具(比如你拖动窗口大小时,页面布局要跟着调整)。。
2025-04-29 15:51:39
425
原创 国际化不生效
删除掉node_models,再重新加载包:cnpm install 这时候就可以正常显示了。原本下载默认next版本cnpm install vue-i18n@next。经过我的重重检查 最终发现是 版本问题。再在main.js中挂载。<template>中。
2025-04-23 21:47:57
182
原创 二叉树-JS
遍历类型顺序核心逻辑差异迭代实现关键点前序根 → 左 → 右访问顺序:弹出即记录右子节点先入栈中序左 → 根 → 右访问顺序:弹出左叶子节点后记录用current指针遍历到最左节点后序左 → 右 → 根访问顺序:逆序存储(unshift左子节点先入栈方法作用返回值是否修改原数组unshift在开头添加元素新长度是shift移除开头的第一个元素被移除的元素或undefined是。
2025-04-15 11:38:22
1015
原创 字符串-JS
给定一个字符串 s,它包含小写字母和数字字符,请编写一个函数,将字符串中的字母字符保持不变,而将每个数字字符替换为number。返回的结果字符串中,单词间应当仅用单个空格分隔,且不包含任何额外的空格。例如,对于输入字符串 "a1b2c3",函数应该将其转换为 "anumberbnumbercnumber"。如果两个单词间有多余的空格,反转后的字符串需要将单词间的空格减少到仅有一个。但显然不是让用这个。直接在原地对字符串进行交换,需要注意,下面这种交换函数是错的。反转后的字符串中不能存在前导空格和尾随空格。
2025-04-04 21:01:43
881
原创 哈希表 - 两个数组的交集(集合、数组) - JS
在 JavaScript 中,Set是一种数据结构,用于存储(不允许重复),并且可以高效地进行等操作。它类似于数组(Array),但成员的值都是唯一的,没有重复项。
2025-03-30 13:56:47
472
原创 哈希表 - 基础+字母异位词(数组) - JS
Array:适用于存储有序数据,查询和增删效率较低。Set:类似于C++的,无序,不允许重复。Map:类似于C++的,无序,键值对存储,键可以是任意类型。Object:键值对存储,键必须是字符串或符号,查询效率不如Map。JavaScript没有类似C++std::set这种基于红黑树的有序集合,但可以使用来实现排序。在实际开发中,如果需要高效的键值映射,优先使用Map而不是Object;如果需要存储唯一值的集合,使用Set;如果数据有序且需要索引访问,则使用Array。
2025-03-28 11:13:53
958
原创 数组题型-滑动窗口-JS
所谓滑动窗口,。窗口就是 满足其和 ≥ s 的长度最小的 连续 子数组。窗口的起始位置如何移动:如果当前窗口的值大于等于s了,窗口就要向前移动了(也就是该缩小了)。窗口的结束位置如何移动:窗口的结束位置就是遍历数组的指针,也就是for循环里的索引。解题的关键在于 窗口的起始位置如何移动,如图所示:可以发现已解答中等相关标签相关企业给定一个含有n个正整数的数组和一个正整数target找出该数组中满足其总和大于等于target的长度最小的,并返回其长度如果不存在符合条件的子数组,返回0。2。
2025-03-21 11:06:11
529
原创 数组题型-快慢指针-JS
基础知识:移除元素其实就是双数组变成单数组,相当于快慢指针(双指针)。双指针法(快慢指针法):快指针:寻找新数组的元素 ,新数组就是不含有⽬标元素的数组慢指针:指向更新 新数组下标的位置27.移除元素26.删除排序数组中的重复项283.移动零844.⽐较含退格的字符串977.有序数组的平⽅。
2025-03-18 23:27:09
955
原创 数组题型-二分查找-JS
但left指向的是第一个大于目标值的位置,因此把元素放入left现在的位置就可以。小技巧:在循环结束时,left 和 right 的值已经交叉,left 指向第一个大于目标值的位置,right 指向最后一个小于目标值的位置。在循环结束时,left 和 right 的值已经交叉,left 指向第一个大于目标值的位置,right 指向最后一个小于目标值的位置。在循环结束时,left 和 right 的值已经交叉,left 指向第一个大于目标值的位置,right 指向最后一个小于目标值的位置。
2025-03-17 22:57:09
921
原创 使用pnpm创建项目后eslint不提示错误信息
1.修改eslint.config.js。2.修改setting.js。3.安装插件(最容易忽略)
2025-03-10 21:19:27
257
原创 安装pnpm报错
2.现在安装pnpm需要带上版本号 可参考官方安装教程 npm install -g pnpm@latest-10。4.给权限 sudo chown -R $USER /usr/local/bin。5.再重新安装就好了npm install -g pnpm@latest-10。3.安装时出现这些报错。1.不要在根目录安装。
2025-03-09 14:09:04
1027
原创 leetcode-数组-双指针
处理最高位进位 :如果最高位也需要进位(例如 [9,9] 加一后变为 [1,0,0] ),则需要在数组的最前面插入 1。== val ,则将 nums[j] 放到 nums[i] 的位置,并移动慢指针 i。这道题的目标是对一个用数组表示的非负整数加一,并返回结果数组。数组的每个元素表示数字的一位,最高位在数组的首位。你的函数应该返回 k = 5,并且 nums 中的前五个元素为 0,0,1,3,4。// 长度正确的预期答案。// 排序 nums 的前 k 个元素。
2025-03-08 22:33:12
578
原创 0302leetcode-1672.最富有客户的资产总量、1275找出井字棋的获胜者、1572.矩阵对角线元素之和
给你一个m x n的整数网格accounts,其中是第位客户在第j家银行托管的资产数量。返回最富有客户所拥有的。客户的就是他们在各家银行托管的资产数量之和。最富有客户就是最大的客户。6两位客户都是最富有的,资产总量都是 6 ,所以返回 6。10= 6= 10= 8第 2 位客户是最富有的,资产总量是 1017。
2025-03-02 11:21:22
1041
原创 0301 leetcode - 1502.判断是否能形成等差数列、 682.棒球比赛、657.机器人能否返回原点
给你一个数字数组arr。如果一个数列中,任意相邻两项的差总等于同一个常数,那么这个数列就称为。如果可以重新排列数组形成等差数列,请返回true;否则,返回false。true对数组重新排序得到 [1,3,5] 或者 [5,3,1] ,任意相邻两项的差分别为 2 或 -2 ,可以形成等差数列。false无法通过重新排序得到等差数列。
2025-03-01 13:42:18
950
原创 安装axios报错
npm升级到7.x以后,会出现上游依赖冲突;直接用npm install --save axios --legacy-peer-deps安装即可。
2025-02-27 10:42:27
400
原创 0225-leetcode - 66.加一、1822数组元素积的符号、1502判断能否形成等差数列
给定一个由组成的数组所表示的非负整数,在该数的基础上加一。最高位数字存放在数组的首位, 数组中每个元素只存储数字。你可以假设除了整数 0 之外,这个整数不会以零开头。[1,2,4]输入数组表示数字 123。[4,3,2,2]输入数组表示数字 4321。[1,0]输入数组表示数字 9。加 1 得到了 9 + 1 = 10。因此,结果应该是 [1,0]。转为字符串,把字符串转为数字再加一,再把数字拆分为数组。这种思路虽然比较简单,但是存在一些问题。
2025-02-25 09:18:26
591
原创 0224-leetcode-459.重复的子字符串、283. 移动零
给定一个非空的字符串s,检查是否可以通过由它的一个子串重复多次构成。s = "abab"true可由子串 "ab" 重复两次构成。s = "aba"falsetrue可由子串 "abc" 重复四次构成。(或子串 "abcabc" 重复两次构成。
2025-02-24 13:31:18
488
原创 0223-leetcode-28.找出字符串中第一个匹配项的下标、243.有效的字母异位词
给你两个字符串haystack和needle,请你在haystack字符串中找出needle字符串的第一个匹配项的下标(下标从 0 开始)。如果needle不是haystack的一部分,则返回-1。0"sad" 在下标 0 和 6 处匹配。第一个匹配项的下标是 0 ,所以返回 0。-1"leeto" 没有在 "leetcode" 中出现,所以返回 -1。needle。
2025-02-23 10:08:21
466
原创 0222-leetcode-1768.交替合并字符串、389找不同、
如果前面s个长度的字符串都相同,那多出来的字符就是那个多余的字符串。把字符串拆分是s.split(''),排序是sort(),将字符连接起来成字符串是.join('');如果一个字符串比另一个字符串长,就将多出来的字母追加到合并后字符串的末尾。,这是将 “hello” 字符串中的字符按照 Unicode 编码顺序排序后的结果。循环语法来遍历字符串中的每个字符。字符串可以看成数组,每个字符对应数组中的一个元素,这样就可以进行字符相加的操作。是一个链式调用,它包含三个不同的字符串方法,每个方法都对字符串。
2025-02-22 23:00:44
1035
原创 npm安装时禁止运行脚本
npm : 无法加载文件 D:\ProgramFiles\nodejs\npm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.com/fwlink/?终端输入Set-ExecutionPolicy -Scope CurrentUser命令给用户赋予权限;终端输入get-ExecutionPolicy查看一下权限,显示RemoteSigned就可以了。在终端输入get-ExecutionPolicy查看执行策略/权限;所在位置 行:1 字符: 1。
2025-01-26 15:43:46
266
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人