登录
首页 >  Golang >  Go问答

检查数组中是否存在属性值等于给定值的对象

来源:stackoverflow

时间:2024-03-27 10:33:33 187浏览 收藏

本文介绍了一种方法,用于检查数组中是否存在对象,且该对象的特定属性值等于给定的值。文章提供了示例数组和一个函数的实现,该函数可以检查数组中是否存在这样的对象并返回布尔值以指示结果。

问题内容

我有一个像这样的数组,它将来自 api 的响应。

[
    {
        "id": "f1eorsr3g7gad6",
        "created_at": 1591951315,
        "url": "https://example.com",
        "secret": "1234",
        "secret_exists": true
    },
    {
        "id": "fintcvtbaywpz2",
        "created_at": 1591953315,
        "url": "http://example.com",
        "secret": "34532",
        "secret_exists": true
    }
]

如何检查该数组是否具有值“f1eorsr3g7gad6”?

我曾尝试编写一个函数,如果该值存在,它将返回索引值。

func isExists(key string, value string, data []map[string]interface{}) (result int) {
    result = -1
    for i, search := range data {
        if search[key] == value {
            result = i
            break
        }
    }
    return result
}
var value string = "FintcvTBaYwPz2"
var key string = "id"
result := isExists(key, value, data) // here data will be the array which I want to pass.
fmt.Println("Result: ", result)

解决方案


您已经完成了所有艰苦的工作,只需更改函数的签名以返回 bool 而不是索引,并返回 truefalse

func isExists(key string, value string, data []map[string]interface{}) (exists bool) {

    for _, search := range data {
        if search[key] == value {
            return true
        }
    }
    return false
}

https://play.golang.org/p/lJGwa6pZaX5

今天关于《检查数组中是否存在属性值等于给定值的对象》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>