/**
* 检测一个数组中是否含有某一个执行的元素
* @param arr 数组
* @param val 指定元素
* @returns {number} 返回值(如果包含指定元素,则返回元素的索引值,否则返回-1)
*/
function testArray(arr ,val) {
for (var i = 0; i<arr.length; i++){
if(arr[i] == val){
return i;
break ;
}
}
return -1;
}
/**
* 删除指定数组中的指定元素
* @param arr 指定的数组
* @param val 指定的元素
* @returns {*} 返回值(直接将处理后的数组返回)
*/
function delArr(arr, val) {
var index = testArray(arr, val);
if(index > -1){
arr.splice(index, 1);
}
return arr;
}
/**
* 版本号的比较
* @param curV
* @param reqV
* @returns {boolean}
* @constructor
*/
function Version(curV, reqV) {
var arr1 = curV.toString().split('.');
var arr2 = reqV.toString().split('.');
//将两个版本号拆成数字
var minL = Math.min(arr1.length, arr2.length);
var pos = 0; //当前比较位
var diff = 0; //当前为位比较是否相等
var flag = false;
//逐个比较如果当前位相等则继续比较下一位
while(pos < minL) {
diff = parseInt(arr1[pos]) - parseInt(arr2[pos]);
if(diff == 0) {
pos++;
continue;
}else if(diff > 0){
flag = true;
break;
}else{
flag = false;
break;
}
}
return flag;
}
/**
* 校验手机号
* @param phone
* @returns {boolean}
*/
function testPhone(phone) {
let testPhone = /^1\d{10}$/;
if(testPhone.test(phone)){
return true;
}else {
return false;
}
}
/**
* 获取链接上携带的参数信息
*
* @param paras
* @returns {*}
*/
function getQuery(paras) {
var url = location.href;
var paraString = url.substring(url.indexOf("?") + 1, url.length).split("&");
var paraObj = {};
var i, j = 0;
for (i = 0; j = paraString[i]; i++) {
paraObj[j.substring(0, j.indexOf("=")).toLowerCase()] = j.substring(j.indexOf("=") + 1, j.length);
}
var returnValue = paraObj[paras.toLowerCase()];
if (typeof returnValue == "undefined") {
return "";
} else {
return decodeURI(returnValue);
}
}
/**
* 将内容拷贝到剪切板中
*
* @param copyText 需要拷贝的内容
*/
function copyContent(copyText) {
var Url2 = copyText;
var oInput = document.createElement('input');
oInput.value = Url2;
document.body.appendChild(oInput);
oInput.select(); // 选择对象
document.execCommand("Copy"); // 执行浏览器复制命令
oInput.className = 'oInput';
oInput.style.display = 'none';
}
/**
* 将数字转换成每三个数字增加逗号分隔
*
* @param {Number} num 传递的num数值
*/
function formatNum(num) {
var newStr = "";
var count = 0;
var str = num.toString();
// 当数字是整数
if(str.indexOf(".") == -1) {
for(var i = str.length - 1; i >= 0; i--) {
if(count % 3 == 0 && count != 0) {
newStr = str.charAt(i) + "," + newStr;
} else {
newStr = str.charAt(i) + newStr;
}
count++;
}
// str = newStr + ".00"; //自动补小数点后两位
str = newStr
return str;
}
// 当数字带有小数
else {
for(var i = str.indexOf(".") - 1; i >= 0; i--) {
if(count % 3 == 0 && count != 0) {
newStr = str.charAt(i) + "," + newStr;
} else {
newStr = str.charAt(i) + newStr; //逐个字符相接起来
}
count++;
}
str = newStr + (str + "00").substr((str + "00").indexOf("."), 3);
return str;
}
}
/**
* 数组去重
*
* @param {Object} arr
*/
function newarr(arr) {
var arrs = [];
for(var i = 0; i < arr.length; i++) {
if(arrs.indexOf(arr[i]) == -1) {
arrs.push(arr[i])
}
}
return arrs;
}
export default {
delArr,
Version,
testPhone,
getQuery,
copyContent,
formatNum,
newarr
}
个人常用js基础方法整理
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 这8种学生永远拿不到高分!早看早受益! 下面是一位资深班主任总结了8种成绩提不上去的原因,分别对应8类孩子,如果你...
- 这8种学生永远拿不到高分!早看早受益! 下面是一位资深班主任总结了8种成绩提不上去的原因,分别对应8类孩子,如果你...