js一点东西,以后学一点加一点

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());
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值