获取 https://www.baidu.com?id=小黄&age=22
中的值
function getParamName(attr) {
let match = RegExp(`[?&]${attr}=([^&]*)`) //分组运算符是为了把结果存到exec函数返回的结果里
.exec(window.location.search)
//["?id=小黄", "小黄", index: 0, input: "?id=小黄&age=23"]
return match && decodeURIComponent(match[1].replace(/\+/g, ' ')) // url中+号表示空格,要替换掉
}
console.log(getParamName('id')) // "小黄"
数字格式化问题,1234567890 –> 1,234,567,890
let test1 = '1234567890'
let format = test1.replace(/\B(?=(\d{3})+(?!\d))/g, ',')
console.log(format) // 1,234,567,890
判断一个数是否是质数 3 –> true
function isPrime(num) {
return !/^1?$|^(11+?)\1+$/.test(Array(num+1).join('1'))
}
console.log(isPrime(19)) // true
字符串数组去重
es6
let str_arr=["a","b","c","a","b","c"]
function unique(arr){
return [...new Set(arr)]
}
console.log(unique(str_arr)) // ["a","b","c"]
正则
var str_arr = ["a", "b", "c", "a", "b", "c"]
function unique(arr) {
return arr.sort().join(",,").
replace(/(,|^)([^,]+)(,,\2)+(,|$)/g, "$1$2$4").
replace(/,,+/g, ",").
replace(/,$/, "").
split(",")
}
console.log(unique(str_arr)) // ["a","b","c"]