一、将字符串按特殊字符或空格转换为数组
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))