1. 程式人生 > >js判斷陣列中是否有重複值得三種方法

js判斷陣列中是否有重複值得三種方法

方法一: 
function isRepeat() {
    var ary = new Array("111", "22", "33", "111");
    var s = ary.join(",") + ",";
    for (var i = 0; i < ary.length; i++) {
        if (s.replace(ary[i] + ",", "").indexOf(ary[i] + ",") > -1) {
            alert("陣列中有重複元素:" + ary[i]);
            break;
        }
    }
}


方法二: 
function isRepeat() {
    var ary = new Array("111", "22", "33", "111");
    var nary = ary.sort();
    for (var i = 0; i < ary.length; i++) {
        if (nary[i] == nary[i + 1]) {
            alert("陣列重複內容:" + nary[i]);
        }
    }
}


方法三: 

function isRepeat(arr) {
    var hash = {};
    for (var i in arr) {
        if (hash[arr[i]]){
            return true; 
        }
        hash[arr[i]] = true;
    }
    return false;
}