常用的js方法

56 阅读1分钟

一、将字符串按特殊字符或空格转换为数组

function strReplaceFn(str) {
 var pattern = new RegExp("[`~!@#$^&*()=|{}';',\[\].<>/?~!@#¥……&*()&;|{}【】‘;”“'。,、? ]", "g")
 var rs = str.replace(pattern, ',');
 rs = rs.split(",");
 return rs;
}

二、 通过地址栏链接获取参数

function getQueryString(name) {
 var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
 var r = (window.location.href.indexOf('?') > -1) && window.location.href.split('?')[1].match(reg);
 if (r) {
 return unescape(r[2]);
  }
 return null;
}

三、一键复制功能

function copyToClicp (){
 var content = 'fsdfsfsf'
 navigator.clipboard.writeText(content)
      .then(() => {
        layer.msg('复制成功', {
 icon: 1,
 time: 3000,
        })
      })
      .catch(err => {
        layer.msg('复制失败', {
 icon: 5,
 time: 3000,
        })
      })
}

四、js 一维数组转换为树形结构

方法一: 使用递归进行转换. 传入数组,根节点父级id,返回一个树结构的数组.

const arrayToTree = (arr, pid) => {
  return arr.reduce((res, current) => {
    if (current['pid'] === pid) {
      current.children = arrayToTree(arr, current['id']);
      return res.concat(current);
    }
    return res;
  }, []);
};
console.log(arrayToTree(list, 0))