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

如何将自定义对象数组转换为字符串数组?

邓卓
2023-03-14

我目前有一个自定义对象数组

[基因报告员]

定义如下:

public struct GenrePosters: Decodable, Equatable{

  public let poster : String

  public init? (json: JSON) {

    guard let poster: String = "poster_path" <~~ json
      else {return nil}
    self.poster = poster
  }

  public static func ==(lhs: GenrePosters, rhs: GenrePosters) -> Bool {
    return lhs.poster == rhs.poster
  }

当打印到console时,它如下所示:

[MyMovieGuide.GenrePosters(海报:/e1mjopzAS2KNsvpbpahQ1a6SkSn.jpg),MyMovieGuide.GenrePosters(海报:/jjbgi2r5crt36xf6inuehzsceb.jpg),MyMovieGuide.GenrePosters(海报:/tikfbxbzhsxpiitib5ws8vgxjt.jpg”)]

我正在尝试将genreposter数组转换为一个字符串数组,其中仅包含如下海报值:

[“/e1mjopzAS2KNsvpbpahQ1a6SkSn.jpg”“/jjBgi2r5cRt36xF6iNUEhzscEcb.jpg”“/tikfbxbxbzhsxpiitib5ws8vgxjt.jpg”]

任何帮助将不胜感激!

共有2个答案

胡昊
2023-03-14
public struct GenrePosters: Decodable, Equatable{

    public let poster : String

    public init? (json: JSON) {

        guard let poster: String = "poster_path" <~~ json
            else {return nil}
        self.poster = poster
    }

    public static func ==(lhs: GenrePosters, rhs: GenrePosters) -> Bool {
        return lhs.poster == rhs.poster
    }
}

let genrePostersArray = [GenrePosters(poster: "one"), GenrePosters(poster: "two"), GenrePosters(poster: "three")]
let genrePostersStringArray = genrePostersArray.flatMap { $0.poster }
print(genrePostersStringArray) // ["one", "two", "three"]
颜志业
2023-03-14

您应该能够使用map(:)方法完成此操作:

let posters = posterList.map {$0.poster}
 类似资料:
  • 问题内容: 我使用以下代码将Object数组转换为String数组: 但是我想知道是否还有另一种方法可以做到,例如: 但这会导致运行时错误: 正确的方法是什么? 问题答案: 另一种替代方法:

  • 我有一个pandas数据框架,其中混合了数据类型(DType),我希望将其转换为numpy结构化数组(或记录数组,在本例中基本相同)。对于纯数字数据帧,使用方法很容易做到这一点。我还需要将pandas列的数据类型转换为字符串而不是对象,以便使用numpy方法,该方法将数字和字符串输出到二进制文件,但不会输出对象。 简而言之,我需要将带有的panda列转换为字符串或unicode数据类型的numpy

  • 我使用以下代码将对象数组转换为字符串数组: 但我想知道是否有另一种方法可以做到这一点,比如: 但这将导致运行时错误:<code>线程“AWT-EventQueue-0”java.lang.ClassCastException中的异常:[Ljava.langs.Object;无法强制转换为[Ljava.lang.String; 正确的做法是什么?

  • 问题内容: 我知道如何以编程方式执行此操作,但是我敢肯定有一种内置方法… 我使用的每种语言都有一组对象的默认文本表示形式,当您尝试将Array与字符串连接起来或将其传递给print()函数时,它会吐出。Apple的Swift语言是否可以有一种轻松地将数组转换为字符串的内置方法,还是在对数组进行字符串化时始终必须明确? 问题答案: 如果数组包含字符串,则可以使用的方法: 在 Swift 2中 : 如

  • 我使用过的每种语言都有某种默认的文本表示,用于对象集合,当您试图将数组与字符串连接起来,或者将其传递给print()函数等时,它会吐出这些对象集合。苹果的Swift语言是否有一种内置的方式可以轻松地将数组转换为字符串,或者我们在字符串化数组时总是必须显式地表示吗?

  • 我得到一个错误读数: