gpt4 book ai didi

ruby - Ruby uniq 是否适用于具有嵌套元素的哈希数组

转载 作者:数据小太阳 更新时间:2023-10-29 08:35:55 24 4
gpt4 key购买 nike

我有一个散列数组,在每个散列中我都有一个嵌套结构,如下所示:

{
"id" : "RZ60586_5836f1ed468e5d0004000015",
"status" : "live",
"phases" : [
{
"phase" : "main_phase",
"elements" : [
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "light",
"reports" : [ ]
},
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "light",
"reports" : [ ]
},
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "light",
"reports" : [ ]
},
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "light",
"reports" : [ ]
},
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "light",
"reports" : [ ]
},
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "dark",
"reports" : [ ]
},
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "dark",
"reports" : [ ]
},
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "dark",
"reports" : [ ]
},
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "dark",
"reports" : [ ]
},
{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "dark",
"reports" : [ ]
}
]
}
]
}

这是将位于数组内部的散列示例。如果我在此数组上使用 uniq(它的变化只会发生在 reports 数组内):

{
"banner_id" : "5836f1ed468e5d0004000015_widesky_light",
"split_var" : "dark",
"reports" : [ ]
}

所以,问题是,我有多大把握在使用 uniq 时不会丢失任何数据?

最佳答案

数组和散列在测试相等性时(uniq 所做的)逐个元素进行比较。

如果两个数组各自的元素相等,则认为两个数组相等。当两个散列具有相同的键集并且每个键的值等于另一个散列中的值时,它们被认为是相等的。

因此,如果 reports 值不同,uniq 不会删除您的哈希值。

关于ruby - Ruby uniq 是否适用于具有嵌套元素的哈希数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41055545/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com