1、去重:
Array.prototype.removeRepeat=function(){
var newArray=[];
for(var i=0;i<this.length;i++){
for(var j=i+1;j<this.length;j++){
if(this[i]==this[j]){
j=++i;
}
}
newArray.push(this[i]);
}
return newArray;
}
2、数字排序
function mySort(...arguments) {
var tags = new Array();//使用数组作为参数存储容器
if(arguments.length>0){
tags=[...arguments].slice(0);
tags.sort(function(a,b){
return a-b;//升序
//return b-a;//降序
})
}
return tags;//返回已经排序的数组
}
var result=mySort(5,1,2,7,8,10,25,9,20,15);
字母排序
function mySort(...arguments) {
var tags = new Array();//使用数组作为参数存储容器
if(arguments.length>0){
tags=[...arguments].slice(0);
tags.sort();
tags.reverse();//降序,不加为升序
}
return tags;//返回已经排序的数组
}
3、颜色转换
function ToRGB(color){
var reg=/^#[0-9a-f]{6}/i;
var newColor;
if(reg.test(color)){
var curColor=color.slice(1).replace(/[0-9a-f]{2}/ig,function($0){
return parseInt($0,16)+",";
}).slice(0,-1);
newColor="rgb("+curColor+")";
}
else{
newColor=color;
}
return newColor;
}
console.log(ToRGB("#0086DA"));
4、获取url中的参数
function GetUrlData(url){
var result={};
var params=url.split("?")[1].split("&");
for(let i=0;i<params.length;i++){
if(/=/.test(params[i])){
var temp=params[i].split("=");
result[temp[0]]=temp[1];
}
else{
result[params[i]]=undefined;
}
}
return result;
}
console.log(GetUrlData("http://item.taobao.com/item.htm?a=1&b=2&c=&d=xxx&e"));
5、邮箱正则
var reg=/^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$/;
6、js拖拽
function drag(obj) {
obj.onmousedown = function(e) {
var e = e || window.event;
var X = e.clientX - this.offsetLeft;
var Y = e.clientY - this.offsetTop;
if ( obj.setCapture ) {
obj.setCapture();
}
document.onmousemove = function(e) {
var e = e || window.event;
obj.style.left = e.clientX - X + 'px';
obj.style.top = e.clientY - Y + 'px';
}
document.onmouseup = function() {
document.onmousemove = document.onmouseup = null;//释放全局捕获
if ( obj.releaseCapture ) {
obj.releaseCapture();
}
}
return false;
}
}
var example=document.getElementById("example");
drag(example);
7、将给定字符串转换成二进制字符串,如果字符串长度不足8位,则在前面补零到8位
function Unshift(obj){
var num=obj.toString(2);
if(num.length<8){
var arr=num.split("");
var len=8-arr.length;
for(let i=0;i<len;i++){
arr.unshift("0");//在数组开始出添加
}
num=arr.join("");
}
return num;
}
console.log(Unshift("12"));
8、在数组指定位置添加元素
function AddNewItem(arr,item,index){
arr.splice(index,0,item);
return arr;
}
var arr2=["g","l","h"];
console.log(AddNewItem(arr2,"u",1));
9、取出数组中重复的元素
Array.prototype.saveRepeat=function(){
var newArray=[];
for(var i=0;i<this.length;i++){
for(var j=i+1;j<this.length;j++){
if(this[j]==this[i]){
newArray.push(this[i]);
}
j=++i;
}
}
return newArray;
}
var arr=['a','a','b','b','c','d','e','e'];
console.log(arr.saveRepeat());