![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Js
doit_damao
顺其自然,是竭尽所能之后的不强求,而非两手一摊的不作为~
展开
-
使用js遍历出树的所有同级节点,并返回一个二维数组
需求:遍历出树的所有同级节点,并返回一个二维数组(原始树与新生成的二维数组如下) 解决方法1:const formatArrA = arr => { let initArr = [] let curChildren = [] const format = (ar, i) => { initArr[i] || (initArr[i] = []) curChildren = [] // 每次循环重新清空curChildren...原创 2020-12-11 11:32:05 · 1023 阅读 · 0 评论 -
封装一个方法判断js的所有数据类型
需求:输入一个数据,精确返回数据的类型judgeType(123)// "number"judgeType('123')// "string"judgeType(true)// "boolean"judgeType(undefined)// "undefined"judgeType(null)// "null"judgeType({a: 123})// "object"judgeType([123])// "array"judgeType(function a() { re原创 2020-11-20 09:24:25 · 326 阅读 · 0 评论 -
使用js,对数值保留小数点后两位的处理(两种情况)
Html部分:<div class="text primary-text"> <span>合计:</span> <span class="money">¥{{totalMoney | numFilter}}</span></div>Js部分:(注意toFixed方法只能用于数值型数据)// 情况一:保留...原创 2018-05-21 09:57:47 · 87426 阅读 · 8 评论 -
使用Vue + ant-design + Cropper二次封装一个公共图片裁剪组件
效果展示:代码实现:(cropper安装、上传图片方法请自行百度)<template> <div class="cut-img-container"> <!-- 裁剪后图片展示、预览、删除,选取裁剪图片 --> <div v-if="afterCutImgUrl && afterCutImgUrl !== '--'" class="item-img-container"> &l..原创 2020-07-27 10:20:39 · 606 阅读 · 0 评论 -
解决模糊搜索接口返回的数据与页面显示不对应的问题
问题:使用ant-design中select的search方法,添加模糊搜索时,接口即时请求了,但是页面绑定的数据未更新为最新的(比如: 按键输入123时,需要展示为“123”的搜索结果空数组,但是页面并没更新为空);经排查发现此次模糊搜索会发送三个接口请求,但是“123”无结果数据,“1”的有数据返回最慢,导致页面绑定的变量展示的是“1”的搜索结果。解决办法:<a-select placeholder="请选择对象名称" showSearch :fi原创 2020-07-26 17:44:05 · 643 阅读 · 0 评论 -
通过正则获取html中img的url,将其上传到自己的服务器,并生成新的url替换原图片url
需求:将其他网站的文章复制到自己网站的编辑器的时候,图片地址是别人网站的,这时候需要获取到图片资源上传到本地服务器,并替换掉img的srcreplacePicturePath (html) { let imgArr = [] // 此处matchStr匹配的img标签的整体内容,groups匹配的是img中src的url // imgArr是要当前html中要批量上传的图片地址 html.replace(/<img [^>]*src=['"]([^'"]+)[^>]*原创 2020-07-12 16:36:03 · 781 阅读 · 0 评论 -
自定义echarts中tooltip显示的内容
/** * echarts的tooltip显示的内容 * @param {*} params 坐标轴触发获取的源数据 * @param {*} noPercent 是否带%,true或false */export const chartTooltip = (params, noPercent) => { // 判定数据是否为对象或者数组 if (!(params instanceof Array)) { return '请传入正确格式的数组' } // axisVa.原创 2020-06-24 10:22:44 · 760 阅读 · 0 评论 -
使用js,根据对象数组中对象属性值的不同将数组进行分组-3
需求:将下面数组-对象中的index_name相同的对象抽离出来,放在不同的数组当中let tempArr = [ { domain: 'a', index_name: '云淡风轻' }, { domain: 'b', index_name: '递归' }, { domain: 'c', index_name: '云淡风轻' }, { domain: 'd', index_n...原创 2020-03-27 15:05:57 · 752 阅读 · 0 评论 -
使用js,根据属性值判断对象数组中是否包含某个obj,有则替换无则添加
需求:判断数组对象中是否有某个对象,有则替换无则添加/** * 判断数组对象中是否有某个对象,有则替换无则添加 * @param {*} initialArr 源数组 * @param {*} obj 判定的对象 * @param {*} pro 对象中的某个属性(通常为id) */export const formateArrObjData = (initialArr, obj.........原创 2020-01-09 16:31:30 · 3788 阅读 · 0 评论 -
浮点数精度导致的数值计算问题
需求:浮点数精度导致的数值计算问题,需要对数值计算进行格式化处理,保留小数位为截取,不进行四舍五入/** * 带基数、后缀的数值格式化 * @param {*} num 源数据 * @param {*} base 特定的基数(比如100, 1000) * @param {*} decimals 保留的小数位数(只截取不进位) * @param {*} suffix 需要带的后缀 ...原创 2019-12-30 15:58:30 · 268 阅读 · 0 评论 -
使用js,将后台返回数据中数据值为空的字段全部替换为“--“
需求:将下面数组或者对象中的字段为空的值全部替换为"--"let tempArr = [ { domain: "a", index_name: "" }, { domain: "b", index_name: "递归" }, { domain: "c", index_name: "-" }, { domain: "d", index_name: "遍历" }, { dom...原创 2019-11-14 16:06:45 · 2779 阅读 · 1 评论 -
使用js对数值进行单位换算
需求:数值超过四位数单位换算为“万”,超过八位数时单位换算为“亿”,并保留小数点后两位export const unitConverter = num => { if (!num || isNaN(num)) { return '请传入数值格式的数据' } // 此处为防止字符串形式的数值进来,因为toFixed方法只能用于数值型数 num = Number(n...原创 2019-09-18 15:34:12 · 5283 阅读 · 0 评论 -
使用js计算字符串的长度
分析:字符串中一个英文字母占一个字节,一个中文汉字占两个字节,中文字符基本是两个字节,英文字符基本是一个字节,其中ASCAIl码为94的符号^也为两个字节(以下结果为普通字符串的近似字节长度,对于表情啥的不适用)export const calculateStringLength = str => { if (typeof(str) !== 'string') { return...原创 2019-09-18 15:21:16 · 2831 阅读 · 0 评论 -
关于闭包以及作用域链很好的一个例子
js代码:let tempStr = '从前'let a = '有座山'let b = '山里'let c = '有座庙'const Recursion = num => { tempStr = `${tempStr}-${num}${a}` console.log(tempStr, num) if (!num) { tempStr = `${tempStr...原创 2019-08-27 17:24:33 · 101 阅读 · 0 评论 -
使用js,根据对象数组中对象属性值的不同将数组进行分组-2
需求:将下面数组-对象中的index_name相同的对象抽离出来,放入一个新数组中let tempArr = [ { domain: 'a', index_name: '云淡风轻' }, { domain: 'b', index_name: '递归' }, { domain: 'c', index_name: '云淡风轻' }, { domain: 'd', index_na...原创 2019-06-11 16:12:26 · 1386 阅读 · 0 评论 -
使用js,根据对象数组中对象属性值的不同将数组进行分组-1
需求:将下面数组-对象中的index_name相同的对象抽离出来,放入一个新数组中let tempArr = [ { domain: 'a', index_name: '云淡风轻' }, { domain: 'b', index_name: '递归' }, { domain: 'c', index_name: '云淡风轻' }, { domain: 'd', index_na...原创 2019-06-10 10:32:47 · 3059 阅读 · 0 评论 -
使用js完成数组乱序排列
let testArr = ['a', 'b', 'c', 'd', 'e', 'f', 'g']1.直接使用for循环配合Math对象disorderArray (arr) { for (let i = 0; i <= arr.length - 1; i++) { let randomIndex = Math.round(Math.random() * i) ...原创 2019-04-22 16:53:34 · 1000 阅读 · 0 评论