JS 네 이 티 브 코드 패키지 배열 리 셋

11256 단어 JS
1. 배열 의 네 이 티 브 체인 에서 배열 의 무 게 를 없앤다.
Array.prototype.unique = function (){
			
			var map = {},
				arr = [],
				len = this.length;
			for(var i = 0 ; i < len ; i ++ )
			{
				if(!map[this[i]])
				{
					map[this[i]] = "abc";
					arr.push(this[i]);
				}
			}

			return arr;
		}

2. 목표 획득 유형
function type (target){
			var targetType = typeof(target);
			var template = {
				"[object Array]":"Array",
				"[object Object]":"Object",
				"[object Number]":"Number-Object",
				"[object Boolean]":"Boolean-Object",
				"[object String]":"String-Object"
			};
			if(target === null)
			{
				return "null";
			}
			else if(targetType == "object")
			{
				var str = Object.prototype.toString.call(target);
				return template[str];
			}else{
				return targetType;
			}
			
		}

3. 성 배 모드 계승

function inherit(Target, Origin){
			function F(){};
			F.prototype = Origin.prototype;
			Target.prototype = new F();
			Target.prototype.constructor = Target;
			Target.prototype.uber = Origin.prototype;
			
		}

4. 심층 복제
function deepClone(target, origin){
			var tar = target || {};
			var arrayType = "[object Array]";
			 for(var prep in origin)
			 {
				 if(origin.hasOwnProperty(prep)){
					  if(typeof(origin[prep]) === "object")
					  {
						  target[prep] = Object.prototype.toString.call(origin[prep]) === arrayType ? [] : {};
						  deepClone(target[prep], origin[prep])
					  }else{
						 target[prep] = origin[prep]; 
					  }
				 }
			 }
			return tar;
		}

좋은 웹페이지 즐겨찾기