快速过滤多个字典键

2024-03-01

我正在为我的应用程序制作一个搜索栏。我正在使用filter方法来得到结果。我想通过多个键进行搜索。

字典数组:

var people = [
               ["First": "John", "Last": "Doe"],
               ["First": "Steve", "Last": "Jobs"],
               ["First": "Elon", "Last": "Musk"]
             ]

我只能使用以下代码搜索“First”或“Last”,但不能同时搜索两者:

searchResults = people.filter{
            var string = $0["Last"] 
            // or "First"

            string = string?.lowercaseString

            return string!.rangeOfString(searchText.lowercaseString) != nil
        }

一种方法是简单地将两个字段与搜索字符串进行比较:

var people = [
    ["First": "JohnMusk", "Last": "Doe"],
    ["First": "Steve", "Last": "Jobs"],
    ["First": "Elon", "Last": "Musk"]
]

var searchText = "Musk"

var searchResults = people.filter{
        var firstName = $0["First"]!.lowercaseString
        var lastName = $0["Last"]!.lowercaseString

       return firstName.rangeOfString(searchText.lowercaseString) != nil
              || lastName.rangeOfString(searchText.lowercaseString) != nil

}

这给了我这个结果:

2015-11-18 18:19:47.691 MyPlayground[36558:7031733] (
        {
        First = JohnMusk;
        Last = Doe;
    },
        {
        First = Elon;
        Last = Musk;
    }
)

我相信这就是你想要的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

快速过滤多个字典键 的相关文章

随机推荐

  • 对指针数组进行排序

    我是否正确地认为 为了对指针数组进行排序 将指针视为 int 是可以的 例如 qsort ptrs n sizeof void int cmp 我想对 ptr 进行排序以确定是否存在重复项 而不管指针指向的类型是什么 因此 qsort 是执
  • 如何调用shell脚本来启动后端Java进程?

    完成 Jenkins 任务后 我使用 Jenkins 的后置条件配置部分执行 Linux shell 脚本 这个 Linux shell 脚本想要在后端启动备用服务 并且不能导致 Jenkins 暂停 我尝试使用 nohup 等 但不起作用
  • 3D 数组作为纹理在 CUDA 中写入和读取

    由于我正在编程的算法的性质 我需要用一些特定的数学写入 填充 3D 矩阵 然后从该矩阵 在单独的内核中 读取作为 3D 线性插值纹理 由于纹理是一种读取模式 我假设我可以以某种方式在绑定到纹理的全局内存中写入 并从中单独读取 而不需要双倍内
  • 如何制作一个在主线程中触发事件的 C# 计时器?

    长话短说 我需要 Net 中的一个精确计时器 精度以毫秒为单位 这意味着 如果我告诉它在 10 毫秒过去时触发一个事件 它必须这样做 1 毫秒 内置的 Net Timer 类的精度似乎为 16ms 这对于我的应用程序来说是不可接受的 我找到
  • 避免使用元类继承生成的类属性

    我正在考虑使用元类自动将子类添加到父类以进行 链接 然而 从父类继承这些属性会把事情搞砸 有什么好的方法可以避免这种情况吗 class MetaError type def init cls name bases attrs for bas
  • 尽管提示没有任何价值,但谷歌身份验证始终要求授权

    从 Google OAuth 连接用户后 当该用户希望在需要选择其 Google 帐户的下一个会话期间重新连接时 将再次请求许可 根据文档 https developers google com identity protocols Ope
  • 删除包含子实体的实体时出现微风错误

    我使用 Entity Framework Code First Durandal Breeze 从事一个项目 我有这些实体模型 public class Packing Key public int Id get set public st
  • Xcode 7 UI 测试,录制按钮呈灰色

    我正在尝试使用 Xcode 7 将 UI 测试添加到我现有的项目中 但是 UI 测试记录按钮始终呈灰色 我在这里缺少什么 我尝试重新启动 Xcode 清理并重建项目并添加新的 UI 测试目标 还有其他人经历过同样的行为吗 要启用红色按钮 您
  • 这个 LogCat 错误是什么意思?

    我正在尝试运行 E3roid 示例的示例 除非我这样做 否则我会强制关闭页面 这是 logcat 错误 通过查看 您能告诉我这是什么意思以及问题出在哪里吗 02 28 20 31 51 429 D AndroidRuntime 1779 S
  • 将数字格式化为特定的 QString 格式

    我有一个关于将十进制数格式化为某种 QString 格式的问题 基本上 我的程序中有一个可以接受任何值的输入框 我希望它将这个框中的值转换为格式 05 30 基于该值 该值将限制为 99 99 一些例子包括 2 gt 00 02 1 5 g
  • 什么时候必须在模块中使用 CONTAINS?

    我定义了以下模块 module data model 2 implicit none TYPE DEFINITION type type1 record integer month integer day integer year inte
  • 禁用右键对安全性有影响吗?

    在银行网站或其他网站上 我看到他们禁用了右键单击 禁用右键单击是否会使站点在客户端方面更加安全 这是一个好的一般做法吗 不 禁用网站中的右键单击是不好的 详情请点击下方 http www sitepoint com dont disable
  • 为什么要在 include 或 include_once 语句中使用 dirname(__FILE__) ?

    我见过这个 为什么我需要这样做 为什么我要麻烦地获取目录名 然后将其与目录分隔符和新文件名连接起来 上面的代码不等于 PHP 文档 http php net manual en function include php says 根据给定的
  • 无法打开文件“Pods.xcconfig”,因为没有该文件

    如何解决这个问题 我已经从 Git 存储库下载了 iOS 项目 当我尝试构建时 出现错误 Check dependencies The file Pods xcconfig couldn t be opened because there
  • TextInputLayout浮动标签显示缓慢

    我已经申请了安卓TextInputLayout 它工作正常 但是当出现文本输入布局时 编辑文本变得非常慢 我也改变了提示颜色 但它不起作用 布局XML
  • 是否可以使用泛型的类型参数来控制数组的大小?

    以下内容仅用作示例 并非有效的 Rust 代码 struct Vec
  • 在模拟器中查看 Flutter 小部件测试

    有没有办法在模拟器中查看 UI 测试 我正在为具有动画的小部件编写一些测试 并希望验证我的测试是否正确触发动画 找到了answer https flutter io testing widget testing从文档页面 为了帮助调试小部件
  • ggplot2 折线图给出“geom_path:每组仅包含一个观察值。您需要调整组美学吗?”

    使用此数据框 df year pollution 1 1999 346 82000 2 2002 134 30882 3 2005 130 43038 4 2008 88 27546 我尝试创建一个像这样的折线图 plot5 lt ggpl
  • 是否drawRect----泄漏内存

    我目前看到内存泄漏的问题 它似乎来自这段代码 void drawRect CGRect rect CGImageRef cgImage CGBitmapContextCreateImage offScreenBuffer UIImage u
  • 快速过滤多个字典键

    我正在为我的应用程序制作一个搜索栏 我正在使用filter方法来得到结果 我想通过多个键进行搜索 字典数组 var people First John Last Doe First Steve Last Jobs First Elon La