js
lannieZ
这个作者很懒,什么都没留下…
展开
-
JS如何截取-后面或前面的字符串
var index=str.lastIndexOf("\-"); // 后面obj=obj.substring(0,index); // 前面str=str.substring(index+1,str.length);原创 2022-04-18 10:42:41 · 6047 阅读 · 0 评论 -
js日期利用sort排序
<!DOCTYPE html><html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title></head> <body> <scrip原创 2022-04-18 10:02:11 · 4117 阅读 · 0 评论 -
解决qrcode动态生成二维码时多次点击生成多个二维码的问题
<div id="qrcode" ref="qrCodeUrl"></div>creatQrCode(userId) { // 即生成二维码之前先将存放二维码的标签清空 document.getElementById("qrcode").innerHTML = ""; let QueryDetail = 'https://xxxxxxx.com' + '/manager/Scrap_bindWxPage' + "?userId=" + userId;原创 2022-03-16 13:49:52 · 1796 阅读 · 1 评论 -
ES8 padStart
String.prototype.padStart把指定字符串填充到字符串头部,返回新字符串。语法str.padStart(targetLength [, padString])targetLength当前字符串需要填充到的目标长度。如果这个数值小于当前字符串的长度,则返回当前字符串本身。padString 可选填充字符串。如果字符串太长,使填充后的字符串长度超过了目标长度,则只保留最左侧的部分,其他部分会被截断。此参数的默认值为 " "示例'abc'.padStart(10);原创 2022-01-25 09:38:41 · 642 阅读 · 0 评论 -
JS 数组扁平化
var list = [1, 2, 3, [4, 5], [6, [7, 8]], 9]var arr = []list.forEach(item => { if (item instanceof Array) { item.forEach(ele => { if (ele instanceof Array) { arr = arr.concat(ele) } else { arr原创 2021-04-25 11:51:03 · 135 阅读 · 0 评论 -
flat方法
flat()方法创建一个新数组,其中所有子数组元素都以递归方式连接到该数组中,直到达到指定的深度为止const arr1 = [1, 2, [3, 4, [5, 6]]];arr1.flat(2);// [1, 2, 3, 4, 5, 6]const arr2 = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]];arr2.flat(Infinity);// [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]...原创 2021-04-14 13:46:36 · 441 阅读 · 0 评论 -
toString方法+split方法
调用数组的toString方法,将数组变为字符串然后再用split分割还原为数组。split分割后形成的数组的每一项值为字符串,所以需要用一个map方法遍历数组将其每一项转换为数值型。function flatten(arr) { console.log(arr.toString());// 1,2,3,4,5,6 console.log(arr.toString().split(',')); //[ '1', '2', '3', '4', '5', '6' ] return ar原创 2021-04-14 13:45:45 · 2470 阅读 · 0 评论 -
利用递归实现深拷贝
var obj = { //原数据,包含字符串、对象、函数、数组等不同的类型 name:"张三", main:{ a:1, b:2 }, fn:function(){ }, data: new RegExp('\\w+'), friends:[1,2,3,[22,33]]}var obj2 = deepClone(obj)obj2.name = '李四'obj2.friends[0] = '小明原创 2021-03-30 12:04:24 · 259 阅读 · 0 评论 -
前端优化之如何做到渲染几十万条数据不卡帧
<!DOCTYPE html><html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta name="viewport" content="initial-scale=1.0, user-scalable=no" /> <style type="text/css"> body.原创 2021-03-29 16:57:36 · 712 阅读 · 0 评论 -
js el-tree获取到的ids去寻找对应的对象形成普通函数然后转换成递归函数
save() { // 假设arr是从e-tree中选择的ids const arr = [1, 5, 6, 7, 2, 10, 11] var list = [] var list1 = [] var treeList = [] arr.forEach(item => { this.data.forEach(ele => { ele.children.forEach(item2 =>原创 2021-03-03 23:32:15 · 227 阅读 · 1 评论 -
jsonwebtoken、jwt-decode实现jwt获取和解析
一:jsonwebtoken : https://www.npmjs.com/package/jsonwebtokennpm install jsonwebtokenconst jwt = require('jsonwebtoken');// 数据const data = { name: "Tom", age: 23}// 秘钥const key = "secret"// 可选参数const options = { expiresIn: '2h',转载 2021-02-25 14:49:24 · 527 阅读 · 0 评论 -
js 判断给的日期是否为工作日
const isWeekday = (date) => date.getDay() % 6 !== 0;console.log(isWeekday(new Date(2021, 0, 11)));// Result: true (Monday)console.log(isWeekday(new Date(2021, 0, 10)));// Result: false (Sunday)原创 2021-01-25 17:22:01 · 2913 阅读 · 0 评论 -
js 字符串去空格
String.prototype.trim = function(){return this.replace(/^s+|s+$/g, "");};原创 2021-01-18 10:11:12 · 124 阅读 · 0 评论 -
js reduce的使用
Array.prototype.reduce 前言对于新手来说, reduce 没有 map、 forEach、 filter 等数组方法那么友好。但是不得不说,它们能干的事情, reduce 一个不落下,直呼“B神”。语法reduce 接收 2 个参数:第一个参数是回调函数(必选),第二个参数是初始值 initialValue(可选) 。而第一个参数(回调函数),接收下面四个参数:Accumulator (acc) (累计器)Current Value (cur) (当前值)Curren转载 2021-01-14 17:22:18 · 244 阅读 · 0 评论 -
js将伪数组转成真数组
所谓伪数组,当一个对象具有以下特点:可以使用索引对数据进行操作;具有length(长度)属性;不能使用数组的方法,如push,pop等真数组方法。真伪数组差别:对象没有数组的Array.prototype 的属性值,类型是 Object ,而数组类型是 Array数组是索引,对象是键值对使用对象创建伪数组,伪数组可以使用部分方法方法1:遍历:创建一个空数组,循环遍历伪数组,将遍历出的数据逐一放在空数组中var newArr = []; // 先创建空数组fo原创 2020-12-23 16:54:04 · 590 阅读 · 0 评论 -
js获取日期对应周几
function fun_week(datestr){ var weekArray = new Array("周日", "周一", "周二", "周三", "周四", "周五", "周六"); var week = weekArray[new Date(datestr).getDay()]; console.log(week); return week;} fun_week('1997-5-21') // 周三...原创 2020-12-21 15:35:43 · 1082 阅读 · 0 评论 -
js获取距离当天时间n天的日期
fun_date(num) { var date1 = new Date(); //今天时间 var time1 = date1.getFullYear() + "-" + (date1.getMonth() + 1) + "-" + date1.getDate() console.log(time1); var date2 = new Date(date1); date2.setDate(date1.getDate() + num原创 2020-12-21 15:33:28 · 298 阅读 · 0 评论 -
js 控制频繁调接口
在全局中声明一个变量var time;let newTime = new Date().getTime();if (newTime - time > 3000) { // 三秒钟只能执行一次 time = newTime; // 在这里调你要控制的接口}原创 2020-12-14 14:49:56 · 836 阅读 · 0 评论 -
判断一个变量是整数还是小数
var num = 200.20; // 判断是小数还是整数 if(parseInt(num) == parseFloat(num)){//如果相等,就是整数 alert(num + '是整数'); }else{//否则就是小数 alert(num + '是小数'); }Number.isInteger = Number.isInteger || function(value) { return typeof value === "number" && .原创 2020-11-23 14:49:46 · 895 阅读 · 0 评论 -
js 的一些方法
取出一个数组中的最大值和最小值var numbers = [5, 458 , 120 , -215 , 228 , 400 , 122205, -85411]; var maxInNumbers = Math.max.apply(Math, numbers); var minInNumbers = Math.min.apply(Math, numbers);将argruments对象转换成数组var argArray = Array.prototype.slice.call(arguments.原创 2020-11-19 11:51:49 · 104 阅读 · 0 评论 -
JavaScript操作符
1. ?? 操作符在JavaScript中,??运算符被称为nullish coalescing运算符(零合并操作符)。如果第一个参数不是null/undefined,这个运算符将返回第一个参数,否则,它将返回第二个参数。null ?? 5 // => 53 ?? 5 // => 32. ??=操作符??=又被称为逻辑空值赋值运算符这个赋值操作符只有在当前值为空或未定义的情况下才会赋一个新的值。var x = nullvar y = 5console.log( x .原创 2020-11-19 11:28:08 · 225 阅读 · 0 评论 -
小程序动态渐变色的写法
<view class="memeber-card" style="{{background: `linear-gradient(to bottom right, ${startValue}, ${endValue})`}}">原创 2020-11-06 16:57:36 · 326 阅读 · 1 评论 -
js比较两个时间的大小,例如:14:00-15:30
var startTime = this.form.startTime.split(":");var endTime = this.form.endTime.split(":");var sj1 = parseInt(endTime[0])*12 + endTime[1];var sj2 = parseInt(startTime[0]) + parseInt(startTime[1]);if (sj1 < sj2) { this.$message.warning(原创 2020-10-30 11:07:26 · 926 阅读 · 0 评论 -
js 去除字符串中第一位的逗号
var this.ruleForm.goodsImages =‘,111,222,333’if (this.ruleForm.goodsImages.substr(0,1) == ',') this.ruleForm.goodsImages=this.ruleForm.goodsImages.substr(1);console.log(this.ruleForm.goodsImages) // 111,222,333原创 2020-10-14 10:31:50 · 1862 阅读 · 0 评论 -
多重判断时使用 Array.includes
// conditionfunction test(fruit) { if (fruit == 'apple' || fruit == 'strawberry') { console.log('red'); }}以上写法如果有多个判断条件写起来就不好看了,建议用Array.includesfunction test(fruit) { const redFruits = ['apple', 'strawberry', 'cherry', 'cranberries']; if原创 2020-10-10 11:19:05 · 302 阅读 · 0 评论 -
JS——间歇循环滚动
<body> <div id="recordImg"></div></body><script> var StandArr = [ { user: '用户152****6983', avatar: 'avatar.jpg', money: '1' }, { user: '用户152****6983', avatar: 'avatar.jpg', money: '2', },原创 2020-09-25 11:40:57 · 380 阅读 · 0 评论 -
定时器的问题
在a页面写一个定时,让他每秒钟打印一个1,然后跳转到b页面,此时可以看到,定时器依然在执行。这样是非常消耗性能的!解决方法1:首先在data函数里面进行定义定时器名称:data() { return { timer: null // 定时器名称 } }使用this.timer = (() => { // 某些定时器操作}, 10原创 2020-09-22 09:29:15 · 272 阅读 · 1 评论 -
js计算字符串包含几个字符
scope.row.shopMemberCardIds.split(',').length原创 2020-09-11 09:24:52 · 2059 阅读 · 0 评论 -
setTimeout和setIterval的区别
setInterval在执行完一次代码之后,经过了那个固定的时间间隔,它还会自动重复执行代码直到调用clearInterval清除定时器对象。setTimeout只执行一次那段代码,使用clearTimeout清除定时器对象。原创 2020-08-28 16:33:00 · 255 阅读 · 0 评论 -
arr.concat()、arr.slice()、arr.splice()
arr.concat()arr.concat()语法与定义:concat() 方法用于连接两个或多个数组。arrayObject.concat(arrayX,arrayX,......,arrayX)必需。arrayX该参数可以是具体的值,也可以是数组对象。可以是任意多个。基于当前数组中的所有项创建一个新数组。简单的说,concat()先给当前数组创建一个副本,然后将接收到的参数添加到这个副本(数组)的末尾,最后返回一个新的数组。<script type="text/javascript"转载 2020-07-23 13:51:34 · 1014 阅读 · 1 评论 -
js获取当天日期时间
var date = new Date(); var year = date.getFullYear(); var month = date.getMonth() + 1; var dates = date.getDate(); var hour = date.getHours(); var minutes = date.getMinutes(); var second = date.getSeconds(); var dataTime = year原创 2020-07-17 11:53:41 · 553 阅读 · 0 评论 -
js 从一个数组中取出几个特定的字段组成新的数组
var productJson = []; res.forEach(function(item){ productJson.push( { goodsId: item.goodsId, productId: item.productId, goodsNum: item.goodsNum }) })console.log(productJson)原创 2020-07-09 14:36:42 · 3741 阅读 · 2 评论 -
js 去除前后、前、后所有空格
var strr=" 1 ad dertasdf sdfASDFDF DFG SDFG " // type 1-所有空格,2-前后空格,3-前空格,4-后空格function trim(str,type){ switch (type){ case 1:return str.replace(/\s+/g,""); case 2:return str.replace(/(^\s*)|(\s*$)/g, ""); case 3:re原创 2020-07-01 09:47:31 · 746 阅读 · 0 评论 -
js 取消页面可以选中文字的功能方法
created(){ document.onselectstart = function(){return false;}; }原创 2020-06-03 15:48:04 · 378 阅读 · 0 评论 -
Js 去除字符串最后的逗号
第一种方法str= str.substring(0, str.lastIndexOf(','))第二种方法str = (str.substring(str.length - 1) == ',') ? str.substring(0, str.length - 1) : str第三种方法var str=str.substring(0,str.length-1)第四种方法 var reg=/,$/gi;str=str.replace(reg,"");...原创 2020-05-19 09:30:31 · 483 阅读 · 0 评论 -
Math.round四舍五入
四舍五入用toFixed(2)有时候会没有进行大于5加1所以用Math.roundstate.cartListDiscounts = Math.round((state.cartListTotalPrice - state.memberPriceTotal * Number(state.offers.vipIfm.discount)) * 1000) / 1000原创 2020-05-14 17:11:54 · 179 阅读 · 0 评论 -
js获取昨天、今天、明天的日期
//昨天的时间var day1 = new Date();day1.setTime(day1.getTime()-2460601000);var s1 = day1.getFullYear()+"-" + (day1.getMonth()+1) + “-” + day1.getDate();//今天的时间var day2 = new Date();day2.setTime(day2.g...原创 2020-02-27 15:18:52 · 5713 阅读 · 2 评论 -
函数的调用方式以及this的指向
函数的调用方式如下6种: 1、构造函数 function star() {}; new Star(); 2、对象方法函数 var o = { sayHi:function(){ console.log(123)} } o.sayHi() 3、绑定事件函数 btn.onclick=function() {} //点击了按钮就可以调用函...原创 2020-01-10 17:58:29 · 158 阅读 · 0 评论 -
数组排序的方法
1、冒泡排序function sort(arr) { for (var i = 0; i < arr.length; i++) { for (var j = 0; j < arr.length - i - 1; j++) { if (arr[j] > arr[j + 1]) { var temp =...原创 2019-10-29 22:31:36 · 143 阅读 · 0 评论 -
ES6中var、let、const的区别
1、使用var声明的变量,其作用域为 该语句所在的函数内,且存在变量提升的现象,值可更改。2、使用let声明的变量,其作用域为 该语句所在的代码块内,不存在变量提升,值可更改。3、使用const声明的变量,其作用域为 该语句所在的代码块内,不存在变量提升在后面的代码中, 不能再修改该常量的值。面试经常会被问过一下问题for (var i = 0; i < 10; i++) { ...原创 2019-10-22 12:31:03 · 194 阅读 · 0 评论