js 去掉數組中重復值,不重復的值保留


這里介紹2中方式:
js代碼如下

     var   arr=[1,7,3,2,1,4,12,3,"3",3]
    function compare(arr) {
      var result = [], isfl;
      for (var i = 0; i < arr.length; i++) {
          isfl= false;
         for (var j = 0; j < result.length; j++) {
              if (arr[i] ===result[j]) {   
                  isfl = true;
                 break;
              }
         }
         if (!isfl) {
             result.push(arr[i]);
         }
    }
         return result;
 }
 var dw=[];
 dw=compare(arr);
 console.log(dw);
 function compare2(arr) {
    var result = [], hash = {},type="",item;
    for (var i = 0; i<arr.length; i++) {
         item = arr[i];
          type = typeof(item);
        if (!hash[item+type]) {
            result.push(item);
            hash[item+type] = true;
        }
    }
    return result;
}
var  dw2=compare2(arr);
console.log(dw2);

注意:因為存在類型不同所以要用===,而第二種方式中,hash()只比較值,不比較其類型,所以需要單獨抽出其類型,一起比較。才能達到所需目的
效果如圖顯示:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM