关于数组的题
var a ={"name":"array","length":10
};
var b = ["1","2","3","4"];
//判斷是否為數(shù)組
// console.log( a instanceof Object );
// console.log( a instanceof Array );
// console.log( b instanceof Array );
// console.log( b instanceof Object );
// console.log(Array.isArray(b));
// console.log(b.constructor===Array)
// console.log(Object.prototype.toString.call(b) === "[object Array]");
// if(b.constructor.pop !== undefined){
// console.log("是一個數(shù)組");
// }
//數(shù)組去重
var c =[3,3,4,5,6,8,9,9,8,4,5,5,1,2];
Array.prototype.distinct = function(){var arr = this,result = [],i,j,len=arr.length;//for循環(huán)是先執(zhí)行外層循環(huán),再執(zhí)行內(nèi)層循環(huán),執(zhí)行內(nèi)循環(huán)時,是滿足內(nèi)層條件就一直執(zhí)行,直到條件不滿足,才在執(zhí)行外循環(huán)for(i=0;i<len;i++){//此處下標(biāo) i 的值為0,執(zhí)行里面的循環(huán),就是用下標(biāo)為0 的元素,與其他所有的元素相比較,for(j=i+1;j<len;j++){//此處當(dāng)前一個值與后一個值相等時,他們的下標(biāo)都加一。解釋這里,就是說此處小標(biāo)i的值在后面有相等的,就過濾掉了下標(biāo)i的值,繼續(xù)i加一的循環(huán)。if(arr[i]===arr[j]){j = ++i;}console.log(1111)}result.push(arr[i]);console.log(22222)}return result;
}
console.log(c.distinct());
Array.prototype.cuchong = function(){var ar= this,len = ar.length;ar.sort(function(a,b){return a-b;})//首先傳入的值是數(shù)組的長度,遞歸,發(fā)現(xiàn)后一個值與前一個值相等時,刪除掉后一個值。再遞歸function loop(index){if(index>=1){if(ar[index] === ar[index-1]){ar.splice(index,1)}loop(index-1);}}loop(len-1);return ar
};
var d =c.cuchong();
console.log(c.cuchong())
?
轉(zhuǎn)載于:https://www.cnblogs.com/Millet-23/p/9670661.html
總結(jié)
- 上一篇: 2018最新手机号正则
- 下一篇: ruby中的复制 dup clone