util.js
1.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
/**
* @file 工具函数
* 常用方法,公共方法
*/
/**
* @name GetLabelFormValue 对象数组中根据一个字段获取对象
* @param {Array[Object]} array - 对象数组
* @param {String} key - 字段名
* @param {any} value - 该字段的预设值
* @param {String} label - 可选,无匹配对象的空值字段
*/
const GetObjFormKey = function (array, key = 'value', value = '', label) {
if (!array) return {}
for (var item of array) {
if (String(item[key]) === String(value)) {
return item
}
}
if (label) {
var result = {}
result[label] = ''
return result
} else {
return {}
}
}
/**
* 模拟a标签跳转
* @param url
* @param target
* @return {*}
*/
const ALink = function(url, target = '_blank') {
const a = document.createElement('a');
a.href = url;
a.target = target;
document.body.appendChild(a);
a.click();
document.body.removeChild(a);
}
/**
* 获取url参数
* @param {*} name 参数名
* @param {*} url
* @returns
*/
const getParameterByName = function (name, url) {
if (!url) url = window.location.href;
name = name.replace(/[[]]/g, '$&');
var regex = new RegExp('[?&]' + name + '(=([^&#]*)|&|#|$)'),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\\+/g, ' '));
}
function getUrlSearchJson() {
var url = location.search;
if(!url) {
return null;
}
var newObj = new Object();
if (url.indexOf("?") != -1) {
var strs = url.split('?')[1].split("&");
for (var i = 0; i < strs.length; i++) {
newObj[strs[i].split("=")[0]] = (strs[i].split("=")[1]) || '';
}
}
return newObj;
}
export { GetObjFormKey, ALink, getParameterByName, getUrlSearchJson }