先上代碼:
function arrCheck(arr){
var newArr = [];
for(var i=0;i<arr.length;i++){
var temp=arr[i];
var count=0;
for(var j=0;j<arr.length;j++){
if(arr[j]==temp){
count++;
arr[j]=-1;
}
}
if(temp != -1){
newArr.push(temp+":"+count)
}
}
return newArr;
}
arrCheck([1,2,3,3,4]);
重點有三個:
1,通過嵌套for循環,把數組的每一項,跟整個數組中的所有項,比較一遍;
2,通過if判斷,如果有相等的項,count++,並把相等的項置為-1,這樣可以判斷等於-1的就是重復的,就不再加入新數組了;
3,用if判斷!=-1,決定是否加入新數組中,返回。
console.log(arrCheck([1,2,3,3,4]));