<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>