JS几个工具方法

1.判断微信内置浏览器:

function isWeiXin(){
	const ua = window.navigator.userAgent.toLowerCase();
	return ua.match(/MicroMessenger/i) == 'micromessenger';
}

2.时间戳转换

function getLocalTime(nS) {
    return new Date(parseInt(nS) * 1000).toLocaleString().replace(/年|月/g, "-").replace(//g, " ");
}
alert(getLocalTime(1552147200));

3. 获取文件后缀名

//注意这个方法只能限制一个 . 的文件、完善应该用lastIndexOf加splice
function getExt(filename) {
    if (typeof filename == 'string') {
        return filename.split('.')[1].toLowerCase()
    } else {
        throw new Error('filename must be a string type')
    }
};

4.数组去重对象

//方法一、根据某个属性判断去重
function unique(arr:any) {
    let arr1 = []; //存筛选属性
    let newArr = []; //存新数组
    for (let i in arr) {//遍历arr 
        console.log(i)
        if (arr1.indexOf(arr[i].属性) === -1) {
            arr1.push(arr[i].属性);
            newArr.push(arr[i]);
        }
    }
    return newArr;
}

5.点击按钮回到顶部

window.scrollTo(0,0)

6.生成随机字符串uuid

function uuid(length, chars) {
    chars =chars ||'0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ'
    length = length || 8
    var result = ''
    for (var i = length; i > 0; --i)
        result += chars[Math.floor(Math.random() * chars.length)]
    return result
};

7.生成乱序数组

var points = [40, 100, 1, 5, 25, 10];c
points.sort(function (a, b) { return 0.5 - Math.random() });

8.简单的深拷贝

//缺陷:只拷贝对象、数组以及对象数组,对于大部分场景已经足够
export function deepCopy(obj) {
    if (typeof obj != 'object') {
        return obj
    }
    if (obj == null) {//考虑null
        return obj
    }
    return JSON.parse(JSON.stringify(obj))
}

9.获取url参数

可以用qs这个库或者query-string

10.formatting

export function formatType(str) {
  let typeStr = '';
  switch (str) {
    case '1':
      typeStr = '幼儿园';
      break;
    case '2':
      typeStr = '小学';
      break;
    case '3':
      typeStr = '初级中学';
      break;
    case '4':
      typeStr = '普通高中';
      break;
    case '5':
      typeStr = '完全中学';
      break;
    default:
      typeStr = '';
  }
  return typeStr;
}

11.原生ajax

//第一步创建xhr对象
const xhr = new XMLHttpRequest();
//第二步 配置请求信息
xhr.open('get','https://httpbin.org/get');
xhr.responseType = 'json';
//第三步发送请求
xhr.send();
//如果是post,需要设置请求头
//xhr.setRequestHeader("Content-type","application/x-www-form-urlencoded")
//第四步创建回调函数
xhr.onreadystatechange=function(){
    //0: 请求未初始化,1: 服务器连接已建立,2: 请求已接收,3: 请求处理中,4: 请求已完成,且响应已就绪
    if(xhr.readyState===4){
        if(xhr.status===200){
            console.log(xhr.response);
        }
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值