sort()
,排好序,而後把數組的當前項和後一項進行比較,相同則使用數組的splice(相同的位置,1)
,可是爲了防止數組塌陷,每次刪除數組元素的時候要把i
的值減一。var ary=[1,23,4,2,33,1,2,44,3,2,3]
ary.sort(function(a,b){
return a-b;
});//返回的是排好序的數組
for(var i=0;i<ary.length;i++){
if(ary[i]===ary[i+1])
{
ary.splice(i,1);
i--;//爲了防止數組塌陷
}
}
indexOf()
),那麼就把這個數放到新數組裏面,否者就拋棄這個數,相似於前面說的隨機驗證碼var ary=[1,23,4,2,33,1,2,44,3,2,3]
var arr2=[];
for(var i=0;i<ary.length;i++){ if(arr2.indexOf(art[i])==-1){ arr2.push(ary[i]); }
}
splice()
進行刪除,這裏也要防止數組塌陷;var ary=[1,23,4,2,33,1,2,44,3,2,3]
for(var i=0;i<ary.length;i++){
for(var j=i+1;j<ary.length;j++){
if(ary[i]===ary[j]){
ary.splice(j,1);
j--;
}
}
}
./[]
屬性來獲取;相同則刪除,也要防止數組塌陷var ary=[1,23,4,2,33,1,2,44,3,2,3]
//新建一個對象
var obj={};
for(var i=0;i<ary.length;i++){
var cur=ary[i];
//若是obj【cur】爲真,那就說明對象裏面找到了這個數,重複了
if(obj[cur]){
ary.splice(i,1);
i--;
}else{
//給對象賦值 說明obj.xxx=undefined 不存在爲假
obj[cur]=cur;//obj【1】=1;
}
}
var ary=[1,23,4,2,33,1,2,44,3,2,3]
var obj={};
for(var i=0;i<ary.length;i++){
var cur=ary[i];
if(obj[cur]){
//每次重複一次,其對應的值加一
obj[cur]++;
}else{
//說明沒有重複,個數只有一個
obj[cur]=1;
}
}
var ary2=[];
//對於對象使用in 方法進行遍歷,遍歷獲取的是屬性值
for(var attr in obj){
ary2.push(Number(attr));
}
找出此次考試中,最高分,及最高分出現的次數javascript
//思路:所有人的成績是一個數組,這就至關於使用數組去重的方法,找到最高的分數,和其次數,首先找到了去重的數組進行從小到大的排序,獲得次數,而後經過最高分所對應的索引值獲得出現的最高分
var ary = [1, 23, 4, 2, 33, 1, 2, 44, 3, 2, 3];
var obj = {};
for(var i = 0; i < ary.length; i++) {
//把數組的值,看成對象的索引賦值給對象,因此經過對象索引獲取的是數組出現的次數
var cur = ary[i];
if(obj[cur]) {
//每次重複一次,其對應的值加一
obj[cur]++;
} else {
//說明沒有重複,個數只有一個
obj[cur] = 1;
}
}
//分數從低到高出現的次數
console.log(obj);
var ary2 = [];
//對於對象使用in 方法進行遍歷,遍歷獲取的是屬性值
for(var attr in obj) {
ary2.push(Number(attr));
}
console.log(ary2);
//最高分
console.log(ary2[ary2.length-1]);
var count=ary2[ary2.length-1];
//最高分出現的次數
console.log(obj[count]);