技巧一:数组去重
var arr = [1, 2, 3, 3, 4];
var a = new Set(arr);
var newArr = Array.from(a);
console.log(newArr);
机巧二:数组过滤布尔值
过滤数组中值为 false
的值. 例如(0
, undefined
, null
, false
)
var myArray = [1, 0, undefined, null, false];
var b = myArray.filter(Boolean);
console.log(b);
技巧三:获取参数
a/ 老方法:正则表达式来获取查询字符串值
function getQueryString(name) {
var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
return r ? r[2] : null;
}
console.log(getQueryString('id'));
b/ 新方法:通过 URLSearchParams
API 来获取查询参数
// 假设地址栏中查询参数是这样 "?post=12345&action=edit"
var urlParams = new URLSearchParams(window.location.search);
console.log(urlParams.has('post')); // true
console.log(urlParams.get('action')); // "edit"
console.log(urlParams.get('rulerid')); // "edit"
console.log(urlParams.getAll('action')); // ["edit"]
console.log(urlParams.toString()); // "?post=12345&action=edit"
console.log(urlParams.append('active', '1')); // "?post=12345&action=edit&active=1"