I have a string array that displays a string on an individual line. I would like to take an int array and display on the same line. So the entries of the array are paired in order. So yourArray[1] = number[1], yourArray[2] = number[2], etc. So I am just trying to add a the number array to labez.text = sortedArray.map { " ($0)" }.joined(separator:"\n") line of code.
var yourArray = [String]()
var number = [Int]()
@IBAction func store(_ sender: Any) {
yourArray.append((textA.text!))
number.append(Int(textB.text!)!)
labez.text = sortedArray.map { " \($0)" }.joined(separator:"\n")
let sortedArray:[String] = yourArray.sorted {
$0.localizedCaseInsensitiveCompare($1) == ComparisonResult.orderedAscending
}
}
Another way to do this is with the zip function, you can try this in a playground:
let a = ["a","b","c","b"]
let b = [1,2,3,4]
let list = zip(a, b).map{ $0 + " \($1)" }
list // -> ["a 1", "b 2", "c 3", "b 4"]
I'm ziping the two arrays, which returns a sequence, and then using the reduce method to transform the sequence of (String, Int) tuples into a string array.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With