
js
狂野的心跳
世上无难事,只要肯放弃
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
常用工具类函数(不定期更新)
/** * @description 加法函数,用来得到精确的加法结果 * @params {arg1} 加数 * @params {arg2} 加数 */export function Add(arg1, arg2) { arg1 = arg1.toString(); arg2 = arg2.toString(); let arg1Arr = arg1.split("."), arg2Arr = arg2.split("."), d1 = arg1Arr.length == 2 .原创 2020-08-28 10:22:48 · 470 阅读 · 0 评论 -
随机生成uuid
function setUUID() { function S4() { return (((1 + Math.random()) * 0x10000) | 0).toString(16).substring(1); } return (S4() + S4() + "-" + S4() + "-" + S4() + "-" + S4() + "-" + S4() + ...原创 2020-03-05 11:05:06 · 291 阅读 · 0 评论 -
CSS文本超过2行省略号(...)显示
基础属性:(只能做到超出一行部分省略号显示)width: 200px; //宽度overflow: hidden; //超出文本隐藏white-space: nowrap; //不换行,只显示一行text-overflow: ellipsis; //超出部分省略号显示CSS3属性:(可做到超出 N 行部分省略号显示,行数可自定义)width: 200px; /...原创 2019-10-16 11:07:15 · 7925 阅读 · 1 评论 -
js获取某一天是星期几
function oneDay(y,m,d){ var myDate=new Date(); myDate.setFullYear(y,m-1,d); var week = myDate.getDay() switch(week){ case 0: return '星期日'; case 1: ...原创 2018-10-29 11:00:14 · 5147 阅读 · 0 评论 -
js去掉字符串中的空格(左、右、首尾、中间)
项目中往往会遇到这类需求,比如用户输入信息的时候,在输入框输入了空格,不论是在前面还是后面或者在中间,我们都应该对其进行处理(中间出现空格大部分都是格式错误,应提示重新输入)。这里介绍直接用正则来去掉字符串中的空格。 let str1 = ' gzq joshua '; console.log(str1,111111111); console...原创 2019-02-18 14:49:47 · 3414 阅读 · 1 评论 -
JSON.parse()、JSON.stringify()实现深拷贝应注意问题
我们都知道,实现数据深拷贝,我们大多数人都是用的JSON.parse(JSON.stringify())方法,比如: function deepClone(obj){ let obj_ = JSON.stringify(obj), loneObj = JSON.parse(obj_); return loneObj } let a=[...原创 2019-02-18 17:42:10 · 5377 阅读 · 0 评论 -
高德地图批量地理编码的问题
今天遇到需要将多个位置信息转换成经纬度,官方API说的依然是使用getLocation 方法,只需要传入数组就是了,但是我怎么试都只会返回数组中第一个数据的经纬度。写法如下:(只写js部分)let basicAddress = new AMap.Geocoder({ city: "全国", radius: 500});basicAddress.getLocation([...原创 2019-05-29 09:58:57 · 2350 阅读 · 4 评论 -
金额小写转换大写
直接上代码,亲测有效function transCnMoney(number){ let CN_MONEY = ""; let CN_UNIT = '仟佰拾亿仟佰拾万仟佰拾元角分'; number += "00"; let dot = number.indexOf('.'); if (dot >= 0) number = number...原创 2019-07-18 15:40:35 · 1013 阅读 · 0 评论 -
js获取某一天是今年的第多少周
function getWeek(y,m,d) { let day1 = new Date(y, parseInt(m) - 1, d); let day2 = new Date(y, 0, 1); let day = Math.round((day1.valueOf() - day2.valueOf()) / 86400000); return Math.cei...原创 2019-09-27 15:38:08 · 897 阅读 · 0 评论 -
js对象数组根据某个共同字段分组
有时候我们需要将对象数组根据某个相同字段进行分组,下面就是我自己写的方法,亲测有效。完整代码:(将 id 相同的数据分在同一组) let dataArr = [ {id: 1, value: '值1'}, {id: 2, value: '值2'}, {id: 3, value: '值3'}, {id: 1, value: '值4'}, {id:...原创 2019-10-09 16:57:44 · 4725 阅读 · 1 评论 -
一维数组转二维数组
在项目上,会遇到将一个一维数组的数据,按板块的分布排版这一类的需求。这种需求的数据往往就是数组元素中含有相同字段,以这相同字段分类即可达到需求。以以下数据为例:将let oldArr= [ { name: "一级光圆钢", type: "热轧光圆钢筋(盘卷)", material: "HPB300", specification: "Φ8", ...原创 2018-08-15 16:17:12 · 10084 阅读 · 0 评论 -
div在浏览器可见区域随意拖拽
实现div的随意拖拽,需要注意的就是不能拖着拖着div在浏览器里面消失了,因此需要进行位置计算(用到的数据)1、获取浏览器可见区域宽高browserWidth = document.documentElement.clientWidthbrowserHeight = document.documentElement.clientHeight2、获取div宽高...原创 2018-01-30 15:58:20 · 3742 阅读 · 4 评论 -
实现查找关键字高亮显示
博主在项目期间遇到一个需求,就是搜索关键词时需要高亮显示,我相信很多小伙伴有同样的经历,因此,整理了一下。没啥说的,直接上代码,很简单的。实现查找关键字高亮显示 #box{ height:200px; width:500px; margin:50px auto; border:2px solid #eee; te原创 2018-01-30 16:25:25 · 17288 阅读 · 2 评论 -
数组排序
将一个全是数字的数组按照数字大小从大到小或者从小到大重新排列,这类问题并不少见,在此,列举了一种数组排序的方法。先var一个数组并写出排序的函数var Arr = [10,2,0.6,51,133,125,1,0.05,555,0];Array.prototype.paiXu = function(){ var temp; for(var i=...原创 2018-02-01 11:25:37 · 7374 阅读 · 0 评论 -
数组去重
首先var一个包含重复元素的数组var arr = [1,2,3,1,2,5,45,5,8,5,8,54,5,5,4,8,5,"a","a","cv","cv","sds","sds","wer","wer"];其次,写好去重函数Array.prototype.quChong = function(){ var res = []; var json = {}; for(va原创 2018-02-01 11:46:32 · 244 阅读 · 0 评论 -
用js实现千位分隔符
用js实现千位分隔符,适用于金额展示(正则+replace) function commafy(num) { return num && num .toString() .replace(/(\d)(?=(\d{3})+\.)/g, function($0, $1) { retur...原创 2018-03-23 11:06:18 · 2332 阅读 · 0 评论 -
写个函数,参数为n和val,需要返回一个长度为n的数组,里面的每个元素都是val,不能使用循环
写个函数,参数为n和val,需要返回一个长度为n的数组,里面的每个元素都是val,不能使用循环方法1 函数:function gzq(n,val){ console.log(Array.apply(null, Array(n)).map(function(item, i) {return val;}))} 执行:gzq(5,'gzq')方法2 函数:var gzq = ...原创 2018-03-19 18:12:41 · 1784 阅读 · 0 评论 -
5根金条均分成6份
记得以前面试的时候,遇到不少奇葩、有意思的笔试题。算法、手写代码实现网页、翻译(英译汉)、数学等等等等。这里介绍一下我遇到的一个数学算法的题,题目是:你只有一把小刀(工具)和5根质地均匀的金条,如何切割等分成6份,每根金条只能切一刀。当时就懵逼了,好歹给一把尺子呀,量量就OK了。搞得我sin、cos、都用上了。后来发现用相似三角形就搞定了。上图:思路:1、取三根金条并排,他不给尺子,剩下的两根金条...原创 2018-02-27 17:14:56 · 580 阅读 · 0 评论 -
li标签实现下拉选择框
博主在项目需求中遇到过,需要下拉框这样那样的,但是框架有没有该功能,你说修改框架源码吧,总觉得不是很好,劝产品修改需求吧,更不可能。所以只能自己写一个下拉选择框来满足BT的需求。 自定义下拉框 *{ margin: 0; padding: 0; font-family:原创 2018-01-30 17:15:42 · 5928 阅读 · 0 评论 -
打印机效果
这类需求,博主暂未在项目中遇到,但是,不得不防,而且还挺有趣的哟。效果是文字一个字一个字地、类似于打印机打字的效果 <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>打印机效果</title&原创 2018-01-30 17:03:44 · 352 阅读 · 0 评论 -
返回顶部
返回页面顶部功能相信大家都不陌生,这里给大家带来鄙人的方法,本人觉得挺好用,代码简洁易懂PS:返回按钮(背景图片)需在距离顶部300px才会显示 返回顶部功能 #goTop{ display:none; position:fixed; bottom:20px;原创 2018-01-30 16:53:34 · 334 阅读 · 0 评论 -
多个li标签,点击获取其index序号(索引值)
在很多项目中,特别是项目中菜单栏,一般都是li标签,当我们需要进行点击事件,需要判断点击的是哪一个菜单,第几个菜单,因此,我们需要获取其索引值(现在框架都会自动返回值,这里就用原生js实现) 获取索引值 *{ margin: 0; padding: 0; } #test li{ cursor: pointer; }原创 2018-01-30 16:45:30 · 4906 阅读 · 0 评论 -
时间戳转日期(2018-01-01)
时间戳转日期、时间是经常遇到的需求,这里整理一下时间戳转换成日期、时间的方法。function dateFormat(millionsTime, pattern){ var d = new Date(); d.setTime(millionsTime); var date = { "M+": d.getMonth() + 1, "d+"...原创 2018-01-31 11:26:28 · 11849 阅读 · 0 评论