当前位置: 首页 > 知识库问答 >
问题:

从对象数组中获取属性值的数组

梁鸣
2023-03-14

有一个名为employee的类。

class Employee {

    var id: Int
    var firstName: String
    var lastName: String
    var dateOfBirth: NSDate?

    init(id: Int, firstName: String, lastName: String) {
        self.id = id
        self.firstName = firstName
        self.lastName = lastName
    }
}

并且我有一个employee对象的数组。我现在需要的是将该数组中所有对象的ids提取到一个新数组中。

我也发现了这个类似的问题。但是它是在Objective-C中的,所以它使用valueforkeyPath来实现这一点。

我怎么能在斯威夫特做到这一点呢?

共有1个答案

蒲昀
2023-03-14

您可以使用map方法,该方法将某种类型的数组转换为另一种类型的数组-在您的情况下,将employee数组转换为int数组:

var array = [Employee]()
array.append(Employee(id: 4, firstName: "", lastName: ""))
array.append(Employee(id: 2, firstName: "", lastName: ""))

let ids = array.map { $0.id }
 类似资料:
  • 问题内容: 有一个叫的课程。 而且我有一系列对象。我现在需要将数组中所有这些对象的s 提取到新数组中。 我也发现了类似的问题。但是它在Objective-C中,因此可以用来完成此任务。 如何在Swift中执行此操作? 问题答案: 您可以使用方法,将某种类型的数组转换为另一种类型的数组-在您的情况下,从的数组转换为的数组:

  • 我试着从这里开始: 到此处: 用尽可能少的代码。显然,我可以只循环它并构建数组,但我需要在各种对象上进行大量的操作。我可以编写一个函数来实现它,但很难使该函数对我的应用程序足够通用。 在jQuery中有这个的快捷方式吗?

  • 问题内容: 我有以下结构的JavaScript对象数组: 我想从每个对象中提取一个字段,并获取一个包含值的数组,例如field 将给出array 。 我可以用这种简单的方法做到这一点: 有没有更优雅或更惯用的方法来执行此操作,从而不需要自定义实用程序功能? 关于建议的重复项的注释,它涵盖了如何将单个 对象 转换为数组。 问题答案: 这是实现它的一种较短的方法: 要么 您也可以检查。

  • 我有一个对象只包括一个数组(17)。我想从这个数组中得到特定的值,例如 时,我得到: 最后,在调用this.flights['states'][0][4]时,我收到一个错误: 正在启动我从Opensky网络Api获取的flights对象:

  • 我有一个这样的数组: 获得只有值的数组的最简洁的ES6方法是什么? 预期结果将是:

  • 我有一个包含如下值的对象 这些都在变量autossuggest中。现在我只想获得值 谢谢你的小费