3 阳光6号

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 29w+

给JSON数组对象排序

//先按照status排序//如果status一样,再按照name字段排序return this.toyList.sort((a, b) => { if (a.status === b.status) { return b.name.charAt(0) > a.name.charAt(0) ? -1 : 1 } return b.status - a.status })...

2020-07-09 14:46:20

js 全局监听回车键

document.addEventListener('keyup', function(e) { let currKey = 0 e = e || event currKey = e.keyCode || e.which || e.charCode // 支持IE、FF if (currKey === 13) { if (event) { e.returnValue = false

2020-07-07 17:34:52

css实现带阴影效果的三角形箭头下拉菜单

先看效果:小三角形的边框和矩形菜单四周,都有阴影实现思路:div+伪类<div class="menu-list"> <div class="menu-item">Backup and Restore</div> <div class="menu-item" style="border-bottom:none;" @click="signOut" > Sign Out </div></div>css:.m

2020-06-30 18:30:17

vue父组件从接口获取数据后传给子组件(父组件延迟传值)

data() { return { logoCss: { width:0, height:0, defaultImgUrl: null, }, } }, <mobileWidget v-if="logoCss.defaultImgUrl != null" :logo-css="logoCss" />如上图,mobileWidget是子组件,父组件的logoCs..

2020-06-23 21:03:05

Vue devTools的安装及使用

Vue devTools的下载地址:https://github.com/vuejs/vue-devtools直接点击下载添加到chrome extension添加成功后右上角能看到vue的调试插件:运行vue 项目,打开开发者调试工具,选择vue,如下:就能看到vue里面的数据状态,这样子调试相比断点或者console等方法会高校很多...

2020-06-18 14:19:28

vue实现组件拖拽功能

/*组件拖拽插件 在vue中使用方法:导入此插件,使用mixins混入对象在需要拖拽的元素添加如下方法即可:<div οndragstart="return false;" οndrοp="return false;" draggable="false" @mouseup="onMouseup" @mousedown="onMousedown($event)"@mousemove="dragMouseMove($event)"></div>*/export const

2020-06-17 18:02:30

js用正则表达式替换指定字符串,要求使用最短匹配

需求:现用字符串和base64图片混合在一起的字符串,如:let str = "hello <img src=\"data:image/jpg;base64,xxx这是base64内容xxx\" style=\"max-width:100%;\">hahaha...其中,文本内容和图片内容可以多个,相互混在一起,现在需要把图片用特殊字符:[image] 来替换,最终替换结果如下:let str = "hello [image]hahaha..."要求js用正则表达式替换指定字符串,使

2020-06-08 17:10:39

二分法求立方根

function lfg(x){ if(x==0){ return 0; } let min = 0,max = x; if(x<0){ min = x; max = 0; } while(min < max){ let mid = (min + max) / 2; //二分法 let tmp = mid*mid*mid; if (tmp > x) {

2020-06-04 19:14:24

js求两个正整数的最小公倍数

//js求两个正整数的最小公倍数function gbs(a, b){ let max = a; if(b > max){ max = b; } if(a==1 || b == 1){ console.log(a + "和" + b + "的最小公倍数是:" + max); return; } let find = 0; for(let i=1; i<=max; i++){

2020-06-04 12:57:32

在其它js模块触发当前vue组件的watch监听方法

this.$set(this, "requestStatus", hy.messageRequest);this指向vue组件,requestStatus是当前vue通过watch监听的对象,hy.message是其他js文件导出模块后,挂载到全局的对象。上面代码在mounted注册后,实现的功能:hy.messageRequest对象被改变后,会触发当前vue组件的watch对requestStatus的监听方法。也就是说,当前vue组件监听了requestStatus对象的某属性,比如:wa

2020-06-04 11:06:06

js将字符串转为驼峰格式

js将字符串转为驼峰格式let str = 'font-size';for(let i=0; i<str.length; i++){ let cur = str.substr(i,1); if(cur == '-'){ let leftStr = str.substr(0,i); let cap = str.substr(i+1,1); let rightStr = str.substr(i+1+1); str = l

2020-06-03 18:40:31

js输入任意字符串,统计各个字符的个数

js输入任意字符串,统计各个字符的个数function count(str) { let newStr = ''; let map = new Map(); for(let i=0; i<str.length; i++){ let c = str.substr(i,1); if(c.trim()){ //空字符不算 newStr += c; let num = 1; if

2020-06-03 18:27:24

js节流优化,防止方法被瞬间无限次调用

场景:理论上onmousemove、vue 的watch变量、以及被其他端调用的方法,都有可能被频繁过度调用,从而瞬间产生过多方法调用,导致出现异常bug。本人遇到挺多这种场景:1、鼠标移动事件2、websocket响应服务端的指令都存在本地方法被瞬间过多调用的可能,这时候就需要用定时器做节流优化:let _t = this; //this指向vuelet oTimeout = null;if(!_t.changeWait){ _t.changeWait = true;

2020-06-02 11:58:00

js插入排序

算法步骤:将第一待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置。(如果待插入的元素与有序序列中的某个元素相等,则将待插入元素插入到相等元素的后面。)let arr = [4,1,8,34,62,56,9,16]var len = arr.length;var preIndex, current;for (var i = 1; i < len; i++) { debugger

2020-06-02 11:48:55

选择排序算法

原理思路:首先在未排序序列中找到最小(大)元素,存放到排序序列的起始位置。再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列的末尾。重复第二步,直到所有元素均排序完毕。function selectionSort(arr) { var len = arr.length; var minIndex, temp; for (var i = 0; i < len - 1; i++) { minIndex = i; for (var

2020-05-29 11:54:54

冒泡排序

冒泡排序算法:function bubbleSort(arr) { var len = arr.length; for (var i = 0; i < len - 1; i++) { for (var j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j+1]) { // 相邻元素两两对比 var temp = arr[j+1];

2020-05-29 11:09:32

求连续子数组的最大和

输入一个整形数组(可能有正数和负数),求数组中连续子数组(最少有一个元素)的最大和。要求时间复杂度为O(n)。描述:输入随机整数的数组问题:求出该数组的所有元素连续的,子数组中,元素和最大的子数组示例1:输入数组:[1,2,-3,5,7,-9];输出结果:[5,7]示例2:输入数组:[1,3,-3,5,7,-9,8];输出结果:[1,3,-3,5,7,]答案:let arr = [1,-3,7,-6,2,-2,6,-3,4,6,-8];let length = arr.length

2020-05-28 18:24:30

蓝牙模块Noble不兼容最新的macOS系统(10.15.4)的解决方法

2020年3月底,macOS新版本的系统:catalina 10.15.4发布了,测试和产品提出问题:当更新了最新的系统后,electron的项目中的蓝牙功能不能用了。看了一下目前正在使用的蓝牙模块的底层代码:发现以前的同事也遇过macOS版本更新后,noble模块不能兼容的问题,解决方法主要是去把noble模块的发起蓝牙连接和写入指令等js代码改写,关键点是改写通信id。如上图,noble...

2020-04-16 11:43:45

jquery实现省份城市的联动查询

$(function(){ var bankselect = document.getElementById('bankselect'); if (bankselect.options.length < 2) { $.each(bankList, function (index, item) { bankselect.options.add(new Optio...

2020-04-10 10:04:46

安装指定版本的nodeJs

1、安装n模块:npm install -g n2、升级nodejs到最新的稳定版n stable3、安装指定版本n v8.9.0

2020-04-10 10:01:39

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv3
    勤写标兵Lv3
    授予每个自然周发布7篇到8篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。