如何返回字符数组的子集? [英] How to return an subset of Array of characters?

查看:89
本文介绍了如何返回字符数组的子集?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试动态地切分字母数组,但似乎无法将结果转换回[String]

I am trying to dynamically chop an array of letters but I can't seem to reconvert the result back into a [String]

let letters:String = "abcdefghijklmnopqrstuvwxyz"
let lettersarray = Array(letters.characters)

var targetNum = 14 // Show just the first 14 characters

var resultsArray = [String]()

let resultsSlice = lettersarray.dropLast(lettersarray.count - targetNum) // Returns an Array Slice instead of an Array

let newresultsArray = Array(resultsSlice) // Returns Array<_element> instead of [String]

如何返回[String],即[ a, b , c ...例如]

How do I return a [String] ie ["a","b","c"... eg]

推荐答案

您需要映射字符数组返回到 String

You need to map the Character array back to String

let resultsArray = lettersarray.dropLast(lettersarray.count - targetNum).map{String($0)}

(记入Leo Dabus)

alternatively (credits to Leo Dabus)

let letters = "abcdefghijklmnopqrstuvwxyz"
let targetNum = 14
let resultsArray = letters.characters.prefix(targetNum).map{String($0)}

这篇关于如何返回字符数组的子集?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆