
typescript
望南
这个作者很懒,什么都没留下…
展开
-
vue 中ts实现mqtt封装
安装mqttnpm i mqttuntils/mqtt.tsimport mqtt from 'mqtt'// 声明mqtt的options数据包类型export interface MqttconnecOption extends mqtt.IClientOptions {}// 为方便外部组件处理message,声明消息回调方法类型export declare type OnMessageFun = (topic: string, payload: Buffer) => voi原创 2022-01-11 17:03:49 · 1665 阅读 · 1 评论 -
leetCode - 无重复字符的最长子串
function lengthOfLongestSubstring(s: string): number { //l 左指针 maxLength 最大长度 let l:number = 0 let maxLength:number = 0 // hashMap存储重复字符,以及出现的位置 const map = new Map() // r 右指针 开始遍历 for (let r:number = 0; r < s.length; r++) {原创 2022-01-04 16:09:15 · 561 阅读 · 0 评论 -
vue3.0中使用 websocket,封装到公共方法
首先创建一个socket.ts文件封装公共方法/* * @Descripttion: 封装socket方法 * @version: * @Date: 2021-08-06 11:14:39 * @LastEditTime: 2021-10-26 14:06:34 */import i18n from '@/locales'import store from '@/store'import { ElMessage } from 'element-plus'import { Base64 }原创 2022-01-04 11:13:15 · 5673 阅读 · 3 评论 -
JS实现url地址栏参数拼接、更改或者删除,(根据筛选条件,一个方法实现)
其实主要判断的点有两个,一共三种情况:判断url参数是否只有一个,使用一个参数的正则匹配判断多个参数:1、 判断是否是第一个参数2、判断是否是第二个参数这两个点梳理出来就开始实现正则匹配,但是每次匹配的时候要考虑传入的值是否为空,如果为空要按上述两种情况去处理,把值替换为空串,如果不为空,按默认正则模板直接替换代买实现:/** * @description: * @param {string} name:传入的键名,参数名 * @param {any} value:传入的值 *原创 2021-12-29 09:33:03 · 2636 阅读 · 0 评论 -
leetCode -爬楼梯
//假设你正在爬楼梯。需要 n 阶你才能到达楼顶。每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢?// 假设n = 1 O==[===========> 1种 0 1 0// 假设n = 2 O==[===========> 1+1 2 2种 1 2 1// 假设n = 3 O==[===========> 1+1+1 2+1 1+2 3种 1 3 2// 假设n = 4原创 2021-12-27 11:31:42 · 2765 阅读 · 0 评论 -
leetCode - 算术平方根
function mySqrt(x: number): number { // if (x === 0) return 0 // if(x === 1) return 1 // for (let i: number = 1; i <= x / 2; i++) { // if (i * i <= x && x < (i + 1) * (i + 1)) { // return i // }原创 2021-12-24 16:44:08 · 369 阅读 · 0 评论 -
leetCode - 二进制求和
function addBinary(a: string, b: string): string { // 解法会溢出 // const la = parseInt(a, 2) // const lb = parseInt(b, 2) // const total = (la + lb).toString(2) // return total let l1: string = a.length >= b.length ? a : b let l2: string =原创 2021-12-24 15:35:17 · 608 阅读 · 0 评论 -
leetCode - 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。
// 给定一个由 整数 组成的 非空 数组所表示的非负整数,在该数的基础上加一。function plusOne(digits) { for (let i = digits.length - 1; i >= 0; i--) { if (digits[i] !== 9) { digits[i] += 1 for (let j = i + 1; j < digits.length; j++) { digits[j] = 0 }原创 2021-12-21 13:25:35 · 395 阅读 · 0 评论 -
leetCode - 最后一个单词的长度
// 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中最后一个单词的长度。function lengthOfLastWord(s: string): number { return s.trim().split(' ')[s.trim().split(' ').length - 1].length};...原创 2021-12-20 17:47:00 · 93 阅读 · 0 评论 -
leetCode - 最大子数组和
function maxSubArray(nums: number[]): number { if (nums.length === 1) return nums[0] let max_end: number = nums[0] let max_current: number = nums[0] for (let i: number = 1; i < nums.length; i++) { // 拿到第一个最大字串,就是nums[0]和nums[1]的和来做原创 2021-12-20 17:12:05 · 121 阅读 · 0 评论 -
leetCode - 搜索插入位置
if (!nums.length) return 0 let i: number = 0 while (i < nums.length) { if (nums[i] === target) return i if (nums[i] > target) return i if (target > nums[nums.length - 1]) return nums.length i+原创 2021-12-20 13:51:55 · 192 阅读 · 0 评论 -
leetCode - 移除数组中的指定元素
function removeElement(nums:nums[], val:numer):numer { if (nums.length === 0) { return 0 } let loop:numer = 0 while (loop < nums.length) { if (nums[loop] === val) { nums.splice(loop, 1) } else { loop++ } } return原创 2021-12-20 13:29:14 · 108 阅读 · 0 评论 -
leetCode - 有效的括号
说实话这个题还是觉得有问题,看了官方思路写出来了,function isValid(s: string): boolean { // 先判断字符串的length 不为偶数返回false if (s.length % 2 !== 0) return false const strMap = new Map([ [']', '['], [')', '('], ['}', '{'], ]) const stk: string[] = [] for (let i of s) { if原创 2021-12-09 15:27:29 · 2983 阅读 · 0 评论 -
leetCode -- 最长公共前缀
没有想到什么好的办法 就是直接暴力循环,先找到最短子串,在找子串function longestCommonPrefix(strs: string[]): string { let focu:string = '' let str:string = strs[0] if (!strs.length) return focu // 先找最短子串 for (let i = 1; i < strs.length; i++) { str = strs[i].length <原创 2021-11-19 16:33:08 · 94 阅读 · 0 评论 -
leetCode - 罗马数字转整数
罗马数字包含以下七种字符: I, V, X, L,C,D 和 M。字符 数值I 1V 5X 10L 50C 100D 500M 1000例如, 罗马数字 2 写做 II ,即为两个并列的 1。12 写做 XII ,即为 X + II 。 27 写做 XXVII, 即为 XX + V + II 。通常情况原创 2021-11-08 10:45:03 · 120 阅读 · 0 评论 -
vue+ts获取package.json中version版本
第一步:在shims-vue.d.ts配置文件中写入:declare module '*.json' { const value: any; export default value;}第二步:在需要引入底地方:import configs from '../../package.json'自己根据自己的相对路径去查找原创 2021-11-04 13:22:57 · 1059 阅读 · 0 评论 -
leetCode - 回文数
给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文,而 123 不是。示例 1:输入:x = 121 输出:true示例 2:输入:x = -121 输出:false 解释:从左向右读, 为 -121 。 从右向左读, 为 121- 。因此它不是一个回文数。示例 3:输入:x = 10 输出:false 解释:从右向左读, 为 01 。因此它不是一个回文数。示原创 2021-11-03 17:56:53 · 84 阅读 · 0 评论