3个js函数 变成数组本身的3个方法

<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>3个js函数 变成数组本身的3个方法</title>
</head>
<body>
	<script>
		/**
		 * 稀疏数组 变成不稀疏数组
		 * @params array arr 稀疏数组
		 * @return arry 不稀疏的数组
		 */
		Array.prototype.noSparse = function(arr){
			var resArr=[];//创建空数组
			for(var i=0;i<=arr.length;i++){
				if(arr[i]!==undefined){
					resArr.push(arr[i])
				}
			}
			return resArr;
		}
		var list = [100,100,200,400,500];
		list[19] = 900;
		list[56] = 1000;
		console.log(list.noSparse(list));

		/**
		 * 判断一个元素是否在该数组内
		 * @param array arr
		 * @param fixed val
		 * @param int type 群等还是值等于  1全等于,其他值就是值等于
		 */
		Array.prototype.inArray = function(arr,val,type){
		for(var i=0;i<arr.length;i++){
			if(type ===1){
				if(arr[i] ===val){
					return true;
				}
			}else{
				if(arr[i]==val){
					return true;
				}
			}
		}
		return false;
	} 
		var arr = [100,100,200,400,500];
	    console.log(arr.inArray(arr,"500"));
	    console.log(arr.inArray(arr,500));
	    console.log(arr.inArray(arr,"500",1));
	    console.log(arr.inArray(arr,500,1));
		

	/**
	 * 数组 去重
	 * @params arry arr
	 * @return arry 去重后的数组
	 */
		Array.prototype.noRepeat =function(arr){
		var resArr =[]; //创建空数组
		for(var i=0;i< arr.length;i++){
			if(!Array(resArr,arr[i],1)){
				resArr.push(arr[i]);
			}
		}
		return resArr;
	}
		    var arr = [100,100,300,400,500,300,300,200,200];
			console.log(arr);
			console.log(arr.noRepeat(arr));

	</script>
</body>
</html>
posted @ 2017-08-21 18:31  不完美的完美  阅读(343)  评论(0编辑  收藏  举报