查找數組重複的元素

1.用sort 先排序,再判斷條件,添加到數組

function duplicates(arr) {
// 定義一個a變量接收數組進行排序,變量b爲空的
 var a=arr.sort(),b=[];
    for(var i in a){
    // 判斷兩個條件(當前的相等於前面的一個)且(b空數組裏面沒有這個元素)
        if(a[i]==a[i-1] && b.indexOf(a[i])==-1) {
        // 符合條件的元素添加到空的數組中
            b.push(a[i]); 
        }
    }
    // 返回相應的數組
    return b;
}
  1. 用 filter 方法返回符合條件的數組
function duplicates(arr) {
   // 返回符合條件的數組
   return arr.filter( function( e , i ) {
   // 從右邊查不能等於下標,從左邊能查能等於下標
        return arr.lastIndexOf( e ) != i  &&  i == arr.indexOf( e )
    })
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章