【问题标题】:Javascript duplicate key store value in arrayJavascript在数组中重复键存储值
【发布时间】:2021-11-22 17:26:34
【问题描述】:

我有一个 firebase 集合,我已成功获取如下值

One Data set
{
    
    "region": [
        "region"
    ],
   
    "gender": [
        "female"
    ],
 
}
Another Data set
{

    
    "region": [
        "region"
    ],
   
    "gender": [
        "female"
    ],
 
}

我尝试过的只是映射

module.where("gender", "array-contains", 'female')
    .get()
    .then((querySnapshot) => {
        querySnapshot.forEach((doc) => {
            
            console.log(doc.data()["region"][0].toLowerCase(), " => ", doc.data()["gender"][0]);
    
    })
    .catch((error) => {
        console.log("Error getting documents: ", error);
    });

现在我有多个表示同一个区域的值,所以我想像这样分组

region = [female,female,female,female e.t.c]

或者简单来说,如果一个区域出现多次,只需为该区域创建一个数组并为该重复区域名称附加性别值。 请帮帮我。

【问题讨论】:

    标签: javascript arrays firebase


    【解决方案1】:

    我成功了,也许它会帮助将来遇到与我类似问题的人

    #步骤 1 我创建了两个变量

    var collectionResults = [];
    var groupedCollectionResults = {};
    

    #步骤 2 我将 firebase 对象推送到 collectionResults

    collectionResults.push(doc.data());
    

    #步骤 3 然后我用值映射 collectionResults 重复项

     collectionResults.forEach(function(a) {
            groupedCollectionResults[a.region] = groupedCollectionResults[a.region] || [];
            groupedCollectionResults[a.region].push({ gender: a.gender });
        });
    
    

    #结果

    {
        "region": [
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            }
        ],
        "region2": [
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            },
            {
                "gender": [
                    "female"
                ]
            }
        ],
       
    }
    

    #结论 现在我可以计算特定区域的性别长度了,谢谢!!

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-15
      • 1970-01-01
      • 2021-11-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-09
      相关资源
      最近更新 更多