JS判断数组中是否有重复值得三种实用方法

 我来答
Arvin90
2016-11-05 · TA获得超过452个赞
知道小有建树答主
回答量:297
采纳率:89%
帮助的人:236万
展开全部

1. 利用Object的属性

var arr = [1,2,2,3,5];

function isRepeat(arr) {
    var obj = {};
    for (var n in arr) {
        obj[arr[n]] = n;
    }
    var count = 0;
    for (var p in obj) {
        count ++;
    }
    return count != arr.length;
}

console.log(isRepeat(arr));

2. 利用排序

var arr = [1,2,3,4,5];
// 排序
arr.sort();

function isRepeat(arr) {
    if (arr.length < 1) {
        return false;
    }
    for (var i =1; i<arr.length; ++i) {
        if (arr[i-1] == arr[i]) {
            return true;
        }
    }
    return false;
}

console.log(isRepeat(arr));

3. 遍历计算每个元素的数量

var arr = [1,2,3,3,4,5];

function isRepeat(arr) {
    for (var i=0; i<arr.length; ++i) {
        var e = arr[i];
        var count = 0;
        for (var j=0; j<arr.length; ++j) {
            if (arr[j] == e) {
               count ++;
            }
        }
        if (count > 1) {
            return true; 
        }
    }
    return false;
}

console.log(isRepeat(arr));
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式