Try this:
let array_one = ["Hindi","English","Bengali","Telugu","Odia"]
let array_two = ["01","02","03","04","05"]
let language = "Hindi"
guard let index = array_one.index(of: language) else {
fatalError("Couldn't find the language")
}
let languageId = array_two[index]
let output = language + ", " + languageId
print(output) //"Hindi, 01"
Actually, array_two is not needed:
let array_one = ["Hindi","English","Bengali","Telugu","Odia"]
let language = "Hindi"
guard let index = array_one.index(of: language) else {
fatalError("Couldn't find the language")
}
let languageId = String(format: "%02d", index + 1)
let output = language + ", " + languageId
Here is a solution using zip:
let array_one = ["Hindi","English","Bengali","Telugu","Odia"]
let array_two = ["01","02","03","04","05"]
let zipped = zip(array_one, array_two)
let language = "Hindi"
guard let index = array_one.index(of: language),
let languageAndId = zipped.first(where: {$0.0 == language
})
else {
fatalError("Couldn't find the language")
}
let output = languageAndId.0 + ", " + languageAndId.1
print(output) //prints "Hindi, 01"
And to have an Object-Oriented Programming approach, use structs:
let array_one = ["Hindi","English","Bengali","Telugu","Odia"]
let array_two = ["01","02","03","04","05"]
struct Language {
let name: String
let index: String
}
let languagesArray: [Language] = zip(array_one, array_two).map{Language(name: $0.0, index: $0.1)}
let language = "Hindi"
guard let languageAndId = languagesArray.first(where: {$0.name == language
}) else {
fatalError("Couldn't find the language")
}
let output = languageAndId.name + ", " + languageAndId.index
//prints "Hindi, 01"
structwhere yourstructwould have both the values.array_one[row], do insteadarray_one[row]["id"].