关于数组的题
var a ={"name":"array","length":10
};
var b = ["1","2","3","4"];
//判斷是否為數組
// 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("是一個數組");
// }
//數組去重
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循環是先執行外層循環,再執行內層循環,執行內循環時,是滿足內層條件就一直執行,直到條件不滿足,才在執行外循環for(i=0;i<len;i++){//此處下標 i 的值為0,執行里面的循環,就是用下標為0 的元素,與其他所有的元素相比較,for(j=i+1;j<len;j++){//此處當前一個值與后一個值相等時,他們的下標都加一。解釋這里,就是說此處小標i的值在后面有相等的,就過濾掉了下標i的值,繼續i加一的循環。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;})//首先傳入的值是數組的長度,遞歸,發現后一個值與前一個值相等時,刪除掉后一個值。再遞歸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())
?
轉載于:https://www.cnblogs.com/Millet-23/p/9670661.html
總結
- 上一篇: 2018最新手机号正则
- 下一篇: ruby中的复制 dup clone