使用JavaScript在1个数组中查找常见元素 [英] Find common elements in 1 array using Javascript

查看:70
本文介绍了使用JavaScript在1个数组中查找常见元素的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这个:

var mergeUniqueItems = ["-JsDEcxz_ZSGFLKwd1QM", 
"-JsJ2NXGDYKI6QRsuXVK", 
"-JsJ2RK-kOG2eGcG04xF", 
"-JsJ2RK-kOG2eGcG04xF", 
"-JsJ2YLPiP6751zh8geS"]

我已经使用过:

    var duplicateArray = [];
    for (var i = 0; i < mergeUniqueItems.length; i ++){
        for (var j = 1; j < mergeUniqueItems.length; j ++){
            if (mergeUniqueItems[i] == mergeUniqueItems[j]){
                duplicateArray.push(mergeUniqueItems[i]);
            }
        }
    }

    console.log(duplicateArray);

结果变成这样:

["-JsJ2NXGDYKI6QRsuXVK", 
"-JsJ2RK-kOG2eGcG04xF", 
"-JsJ2RK-kOG2eGcG04xF", 
"-JsJ2RK-kOG2eGcG04xF", 
"-JsJ2RK-kOG2eGcG04xF", 
"-JsJ2YLPiP6751zh8geS"]

何时我的期望是1个数组中的重复项,如下所示:

When my expectation is duplicate items in 1 array like below:

 ["-JsJ2RK-kOG2eGcG04xF"]

如果存在多个重复值,则数组应如下所示:

If there are more than one duplicate value, array should be like this:

["-JsJ2RK-kOG2eGcG04xF", "another_duplicate_1", "another_duplicate_2", ...]

我真的不知道我的代码有什么问题,请帮忙。

I don't really know what's wrong with my code, please kindly help.

谢谢

推荐答案

开始 j i + 1 的价格关闭,而不是 1 的价格,并检查以确保您没有已经添加了重复值。

Start j off at i+1 instead of 1, and check to make sure you've not already added the duplicate value.

for (var i = 0; i < mergeUniqueItems.length; i ++){
    for (var j = i + 1; j < mergeUniqueItems.length; j ++){
        if (mergeUniqueItems[i] == mergeUniqueItems[j]){
            if (duplicateArray.indexOf(mergeUniqueItems[i]) < 0)
                duplicateArray.push(mergeUniqueItems[i]);
            break;
        }

这篇关于使用JavaScript在1个数组中查找常见元素的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆