
JavaScript
LiLi_code
热爱技术的互联网女孩~
展开
-
JavaScript刷题时的输入问题总结
牛客编译模式选择node编译器:单行输入:题目链接:https://www.nowcoder.com/practice/171278d170c64d998ab342b3b40171bb?tpId=40&tqId=21336&tPage=1&rp=1&ru=/ta/kaoyan&qru=/ta/kaoyan/question-rankingconst readline = require('readline');const r1 = readline.c原创 2021-07-01 10:49:34 · 406 阅读 · 0 评论 -
LeetCode912. 排序数组(JavaScript手撕各种排序算法)
题目链接:https://leetcode-cn.com/problems/sort-an-array/submissions/这是一道好题目,可以用来练习手撕各种排序算法,别直接调用api错过了这道好题哦!目录一、插入排序直接插入排序:超时折半插入排序:AC希尔排序:AC二、交换排序冒泡排序:AC快速排序:AC三、选择排序选择排序:AC堆排序:AC四、归并排序归并排序:AC五、JavaScript 内部 API直接调用API:AC一、..原创 2021-06-29 09:41:16 · 577 阅读 · 1 评论 -
LeetCode46. 全排列(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/permutations/submissions/回溯大法好啊! 我还用了标记数组,回溯完记得恢复原状/** * @param {number[]} nums * @return {number[][]} */var permute = function(nums) { let ans = [] //存放所有的排列结果 let temp = [] //存放每一次的排列数据 let len =原创 2021-06-27 21:21:44 · 189 阅读 · 0 评论 -
LeetCode349. 两个数组的交集
题目链接:https://leetcode-cn.com/problems/intersection-of-two-arrays/使用set求2个数组的交集:var intersection = function(nums1, nums2) { var set = new Set(nums1) //Array.from 就是将一个类数组对象或者可遍历对象转换成一个真正的数组 nums2 = Array.from(new Set(nums2)) //为nums2去重原创 2021-06-26 18:50:34 · 167 阅读 · 1 评论 -
LeetCode160.相交链表
题目链接:https://leetcode-cn.com/problems/intersection-of-two-linked-lists/方法一:非常的巧妙优美,可以让两个节点走完自己的路再去走对方的路,从而走的节点数会是一样长的var getIntersectionNode = function(headA, headB) { if(!headA || !headB) return null; let A = headA let B = headB whi原创 2021-06-26 17:00:49 · 145 阅读 · 0 评论 -
LeetCode121. 买卖股票的最佳时机(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/best-time-to-buy-and-sell-stock/DP思想:1. 记录【今天之前买入的最小值】,是为了在最小值买2. 计算【今天之前最小值买入,可以获得的利润】,这便是今天卖出的话的最大利润3. 比较【每天的最大利润】,取最大值/** * @param {number[]} prices * @return {number} */var maxProfit = function(price原创 2021-06-26 16:29:45 · 181 阅读 · 0 评论 -
LeetCode94. 二叉树的中序遍历(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/binary-tree-inorder-traversal/同样有递归法与非递归法递归法:/** * Definition for a binary tree node. * function TreeNode(val, left, right) { * this.val = (val===undefined ? 0 : val) * this.left = (left===undefine原创 2021-06-25 16:11:51 · 236 阅读 · 0 评论 -
LeetCode704. 二分查找(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/binary-search/就是一道经典的二分查找题目,可以使用递归,也可以使用非递归递归解析:/** * @param {number[]} nums * @param {number} target * @return {number} */var search = function(nums, target) { let left = 0; let right = nums.leng原创 2021-06-25 15:03:21 · 190 阅读 · 0 评论 -
LeetCode206. 反转链表(JavaScript解析)
题目链接:https://leetcode-cn.com/problems/reverse-linked-list//** * Definition for singly-linked list. * function ListNode(val, next) { * this.val = (val===undefined ? 0 : val) * this.next = (next===undefined ? null : next) * } *//** * @para原创 2021-06-25 14:29:40 · 153 阅读 · 0 评论 -
LeetCode53. 最大子序和 (JavaScript 4种方法解析)
题目链接:https://leetcode-cn.com/problems/maximum-subarray/经典题就需要认真做,我主要用三种方法完成本题方法一:暴力/** * @param {number[]} nums * @return {number} */var maxSubArray = function(nums) { if(nums.length == 1){ return nums[0]; } let ans = -99999;原创 2021-06-22 17:05:26 · 226 阅读 · 0 评论 -
LeetCode165. 比较版本号 (JavaScript解析)
题目链接:https://leetcode-cn.com/problems/compare-version-numbers//** * @param {string} version1 * @param {string} version2 * @return {number} */var compareVersion = function(version1, version2) { let arr1 = version1.split('.'); let arr2 = ver原创 2021-06-21 21:13:52 · 282 阅读 · 1 评论 -
执行nrm报错 internal/validators.js:124
C:\Users\sxk>nrm lsinternal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name, 'string', value); ^[TypeError [ERR_INVALID_ARG_TYPE]: The "path" argument must be of type string. Received undefined at validateString (internal/validators..原创 2021-06-15 16:52:43 · 533 阅读 · 2 评论 -
JS扩展运算符的用途
扩展运算符(spread)是三个点(...)。它好比 rest 参数的逆运算,将一个数组转为用逗号分隔的参数序列。...运算符主要用于数组和对象的一些操作。一、函数调用function push(array, ...items) { array.push(...items);}function add(x, y) { return x + y;}const numbers = [4, 38];add(...numbers) // 42由上面的例子可以看出,扩展运..转载 2021-04-08 20:46:36 · 386 阅读 · 0 评论 -
JavaScript 字符串与数组之间的转换
1、字符串 -> 数组let string = '123,456,789';let stringResult1 = string.split(',');let stringResult2 = string.split(",").map(Number);let stringResult3 = JSON.parse("[" + string + "]");console.log(stringResult1); //输出["123", "456", "789"]console.log(st原创 2021-04-07 18:06:00 · 160 阅读 · 0 评论 -
关于Symbol创建对象函数时的调用方法
情况一:let game = { name: '俄罗斯方块',};let methods = { up: Symbol(), down: Symbol()};game[methods.up] = function () { console.log("改变形状");}game[methods.down] = function () { console.log("快速下降");}game[methods.down](); //调用成功情况二:原创 2021-03-16 19:10:11 · 1190 阅读 · 0 评论 -
js解决事件对象兼容性问题
事件对象-当事件的响应函数被触发时,浏览器每次都会将一个事件对象作为实参传递进响应函数当事件对象中封装了当前事件相关的一切信息,比如:鼠标的坐标,键盘哪个按键被按下,鼠标滚轮滚动的方向等等,-如onmousemove, 该事件将会在鼠标在元素移动时被触发见如下代码:div.onmousemove = function (e) { console.log(e); ...原创 2020-04-05 09:55:54 · 367 阅读 · 0 评论 -
vue-cli——vue脚手架
1.安装vue-cli① 使用npm(需要安装node环境)全局安装webpack,打开命令行工具输入:npm install webpack -g或者(npm install -g webpack),安装完成之后输入 webpack -v,如下图,如果出现相应的版本号,则说明安装成功。② 全局安装vue-cli,在cmd中输入命令:npm install --global vu...转载 2019-01-24 19:18:27 · 167 阅读 · 0 评论 -
JavaScript 定时器与简单时钟设计
首先定义一个方法:function show(){ console.log('执行了')}一、可直接运行定时器,定时器 setInterval(x,y)每隔y毫秒运行x方法。此定时器会一直运行。setInterval(show,1000)可通过以下方法消除定时器:当然此时,运行时间就要注意了,1000毫秒的话,可能定时器还没有开始运行,就已经先被消除掉了// 定...原创 2019-01-15 18:05:36 · 718 阅读 · 1 评论 -
JavaScript 控制checkbox全选与全不选
1、简单定义CheckBox:<form name="frm"> <p> <label><input type="checkbox" name="selFruit" onclick="selAll(this)"/>水果:</label>原创 2019-01-15 19:01:22 · 1819 阅读 · 6 评论 -
JavaScript 鼠标移入移出状态(onmouseover、onmouseout)
1、设计一个div 用于演示:<head> <meta charset="UTF-8"> <title>Title</title> <style> #myDiv { width: 150px; height: 50px; ...原创 2019-01-15 19:32:32 · 3996 阅读 · 0 评论 -
JavaScript 事件冒泡
事件冒泡:子元素的onclick事件 触发完会传导到父元素的onclick事件去一、用以下例子演示:其中 <li> 是 <a> 的子元素<head> <meta charset="UTF-8"> <title>Title</title> <style>原创 2019-01-16 10:14:07 · 376 阅读 · 0 评论 -
JavaScript 引入websocket模块——编写简单聊天室
先上演示过程,支持多用户同时使用(一激动 老是打错hhhh...)这里我是同时打开了两个网页。代码如下:index.html<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>聊天室</tit原创 2019-01-21 19:57:06 · 2776 阅读 · 0 评论 -
Echarts 设计饼图扇区被选中时中间显示数据
效果图如下:1、初始状态2、扇区被选中时状态(中间数据跟着修改) 思路:使用echarts饼图自带的label,显示出每一个扇区的具体值 可采用 【formatter: "{b} : {c} 人"】 设计格式并将显示位置改为 position: 'right'其实本身直接将position改为 ‘center’也能将数据显示在中间,但是扇区边缘就不会显示具体数...原创 2019-09-05 11:15:12 · 7363 阅读 · 2 评论 -
JavaScript——有关日期的使用
一、获取系统当前时间let date = new Date();console.log(date.toLocaleString())// 控制台输出结果: 2019-1-14 18:41:45二、分别获取年月日时分秒let year = date.getFullYear()let month = date.getMonth()+1 //从0开始let day = date...原创 2019-01-14 18:54:55 · 233 阅读 · 0 评论