如何通过名称值从数组中删除字典元素[重复]
Posted
技术标签:
【中文标题】如何通过名称值从数组中删除字典元素[重复]【英文标题】:How to remove the dictionary element from an array by its name value [duplicate] 【发布时间】:2021-12-31 06:32:57 【问题描述】:我有一个用于名称列表和 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: $0 as? String == "Kiran" )
nameList.remove(at: index)
如果有任何方法可以从 JSONDictionary 数组中删除元素,即 [[String:Any]]
它给出以下警告
从“JSONDictionary”(又名“Dictionary
结果计数 = 3。
【问题讨论】:
不相关但你为什么使用未指定的Any
?字典明明是[String:String]
【参考方案1】:
非常接近 - 现在,您正尝试将整个 [String:Any]
字典强制转换为 String
。相反,您应该只查看“名称”条目并将其值转换为 String
以与“Kiran”进行比较。
if let index = nameList.firstIndex(where: $0["name"] as? String == "Kiran" )
nameList.remove(at: index)
【讨论】:
以上是关于如何通过名称值从数组中删除字典元素[重复]的主要内容,如果未能解决你的问题,请参考以下文章