如何按名称值从数组中删除字典元素

How to remove the dictionary element from an array by its name value

我有一个用于名称列表的数组列表 & url 想要从

中删除
    func getNameListData() -> [[String: Any]] {
        return [
            [
                "name”: “Jonny”,
                "imageName”: “url.png"
            ],
            [
                "name”: ”Mark”,
                "imageName”: “url.png”
            ],
            [
                "name": “Kiran”,
                "imageName": “url.png”
            ],
            [
                "name": “David”,
                "imageName": “url.png”
            ],
        ]
}

// 获取名称列表数组

  var nameList = self.getNameListData()

// 删除索引值处的对象 nameList.remove(at: 0) // 删除指定元素的元素

如何按名称值删除元素?

这是我试过的方法,它对我不起作用。

if let index = nameList.firstIndex(where: {[=12=] as? String == "Kiran" }) {
    nameList.remove(at: index)
    }

如果有任何方法可以从 JSONDictionary 数组中删除元素,即 [[String:Any]]

它给出以下警告

从 'JSONDictionary'(又名 'Dictionary<String, Any>')转换为无关类型 'String' 总是失败 从 'JSONDictionary'(又名 'Dictionary<String, Any>')转换为不相关的类型 'String' 总是失败

结果数 = 3。

非常接近 - 现在,您正在尝试将整个 [String:Any] 词典转换为 String。相反,您应该只查看“名称”条目并将其值转换为 String 以与“Kiran”进行比较。

if let index = nameList.firstIndex(where: {[=10=]["name"] as? String  == "Kiran" }) {
    nameList.remove(at: index)
}