zoukankan      html  css  js  c++  java
  • js原码工具集

    /* 原生js工具集 */
    arr是否包含obj
    function contains1(arr, obj) { var i = arr.length; while (i--) { if (arr[i] === obj) { return true; } } return false; } 获取两点经纬度距离;返回单位为m

    function getDistance(lat1, lng1, lat2, lng2) { var radLat1 = lat1 * Math.PI / 180.0; var radLat2 = lat2 * Math.PI / 180.0; var a = radLat1 - radLat2; var b = lng1 * Math.PI / 180.0 - lng2 * Math.PI / 180.0; var s = 2 * Math.asin(Math.sqrt(Math.pow(Math.sin(a / 2), 2) + Math.cos(radLat1) * Math.cos(radLat2) * Math.pow(Math.sin(b / 2), 2))); s = s * 6378.137; s = Math.round(s * 10000) / 10; return s; }; 判断一个点是否在一个多边形范围内
    function isPointInArr(point, arr) { var x = point[0]; var y = point[1]; var inside = false; for (var i = 0, j = arr.length - 1; i < arr.length; j = i++) { var xi = arr[i][0], yi = arr[i][1]; var xj = arr[j][0], yj = arr[j][1]; var intersect = ((yi > y) != (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); if (intersect) { inside = !inside; } } return inside; } 获得两个数之间的随机数
    function getRandomArbitrary(min, max) { return Math.random() * (max - min) + min; } 时间转化为string

    例如 getTimeToString(new Date(new Date().getTime() - 36000000), 'yyyy-MM-dd-h-mm-ss') function getTimeToString(date, fmt) { //原author: meizz, jk改造 var o = { "M+": date.getMonth() + 1, //月份 "d+": date.getDate(), //日 "h+": date.getHours(), //小时 "m+": date.getMinutes(), //分 "s+": date.getSeconds(), //秒 "q+": Math.floor((date.getMonth() + 3) / 3), //季度 "S": date.getMilliseconds() //毫秒 }; if (/(y+)/.test(fmt)) { fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length)); } for (var k in o) { if (o.hasOwnProperty(k)) { if (new RegExp("(" + k + ")").test(fmt)) { fmt = fmt.replace(RegExp.$1, (RegExp.$1.length === 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length))); } } } return fmt; }; 将HTML转换为节点
    const html2node = (str) => { let container = document.createElement('div'); container.innerHTML = str; return container.children[0]; } 赋值、扩展
    const extend = (a, b) => { for (let i in b) { if (typeof a[i] === 'undefined') { a[i] = b[i]; } } return a; } add ClassName
    const addClass = (node, className) => { let current = node.className || ""; if ((` ${current} `).indexOf(` ${className} `) === -1) { node.className = current ? (`${current} ${className}`) : className; } } remove ClassName
    const removeClass = (node, className) => { let current = node.className || ""; node.className = (` ${current} `).replace(` ${className} `, " ").trim(); } has ClassName
    const hasClass = (node, className) => { let current = node.className || ""; if (current.match(new RegExp(`(\s|^)${className}(\s|$)`))) { return true; } else { return false; } }
    还有了: http://www.cnblogs.com/Byme/archive/2017/12/19/8065916.html
    “我相当乐意花一天的时间通过编程把一个任务实现自动化,除非这个任务手动只需要10秒钟就能完成”
  • 相关阅读:
    在线工具TOOL收藏
    HtmlDocument [代码碎片笔记]
    ChromiumWebBrowser [链接]
    PHP [开发汇总]
    Discuz[技术文献]
    [jvm] -- 监控和调优常用命令工具篇
    [jvm] -- 常用内存参数配置篇
    [日常摘要] -- 事务的隔离级别篇
    [日常摘要] -- ThreadLocal篇
    [日常摘要] -- zookeeper篇
  • 原文地址:https://www.cnblogs.com/flxy-1028/p/6606734.html
Copyright © 2011-2022 走看看