arrays - 在 Swift 中搜索和替换二维数组中的字符串
问题描述
快速自学,在这里完全是新手,但我对一个项目还很遥远,我只知道必须有一种更简单的方法来实现某些目标。
我有一个二维数组:
var shopArray = [
["theme":"default","price":0,"owned":true,"active":true,"image":UIImage(named: "defaultImage")!,"title":"BUY NOW"],
["theme":"red","price":1000,"owned":false,"active":false,"image":UIImage(named: "redImage")!,"title":"BUY NOW"],
["theme":"blue","price":2000,"owned":false,"active":false,"image":UIImage(named: "blueImage")!,"title":"BUY NOW"],
["theme":"pool","price":3000,"owned":true,"active":false,"image":UIImage(named: "blueImage")!,"title":"BUY NOW"],
["theme":"line","price":4000,"owned":false,"active":false,"image":UIImage(named: "lineImage")!,"title":"BUY NOW"],
["theme":"neon","price":5000,"owned":false,"active":false,"image":UIImage(named: "lineImage")!,"title":"BUY NOW"]]
我只是想创建一个运行并搜索所有“拥有”键并使它们全部为“false”的函数。
如何在 Arrays / 2D Arrays 中搜索和替换。更具体地说,func 应该是什么样的?
谢谢!
解决方案
你没有二维数组,你有一个字典数组。
您可以owned
通过迭代数组的索引并更新值来设置键的所有值:
shopArray.indices.forEach { shopArray[$0]["owned"] = false }
这是实现它的功能性方式。您也可以使用for
循环执行相同的操作:
for idx in shopArray.indices {
shopArray[idx]["owned"] = false
}
推荐阅读
- python - 如何在速度方面提高我的“for”循环性能?
- javascript - 使用 boost.asio 向 REST API 服务器发送 POST 请求时出错
- sql - 总结sql中的相邻列
- python -
使用python在XML中组合文本时如何传递元素? - c# - 我们如何在正则表达式下提供方括号
- excel - 在 MS Excel 中使用命名范围
- amazon-dynamodb - DynamoDB如何搜索值列表
- apache-spark - pyspark sqlfunction expr 函数没有按预期工作?
- google-apps-script - 如何跳转到 Google 表格中的特定单元格?
- jquery - Boostrap 验证器检查多个空复选框