Вы можете использовать Array.find()
для обоих сценариев.
Получить полное имя и имена пользователей по id
var obj = [
{
"id": 12345,
"fullname": "Kevin Johnson",
"usernames": ["kevin123", "kevinj", "kjohnson"]
},
{
"id": 123456,
"fullname": "Mark Johnson",
"usernames": ["Mark123", "Markj", "12Mark"]
}
];
var id = 123456;
var resObj = obj.find(item => item.id === id);
if(resObj){
console.log('Full name ', resObj.fullname);
console.log('usernames ', resObj.usernames);
} else {
console.log('No user found!');
}
Получить идентификатор и полное имя от имени пользователя
var obj = [
{
"id": 12345,
"fullname": "Kevin Johnson",
"usernames": ["kevin123", "kevinj", "kjohnson"]
},
{
"id": 123456,
"fullname": "Mark Johnson",
"usernames": ["Mark123", "Markj", "12Mark"]
}
];
var username = 'kevinj';
var resObj = obj.find(item => item.usernames.includes(username));
if(resObj){
console.log('Full name ', resObj.fullname);
console.log('id ', resObj.id);
} else {
console.log('No user found!');
}
Допущения:
textField
label
Вы можете проверить это в том, что Функция действия кнопки выглядит следующим образом:
if let text = textField.text {
if text == "Specified Text" {
label.text = "Correct"
}
}
Таким образом, если текст textField равен указанному вами тексту, текст будет помечен как «Правильный», иначе ничего не произойдет.
Если под виртуальной кнопкой отправки вы подразумеваете кнопку возврата на клавиатуре, вам нужно сделать следующее в textFieldShouldReturn
метод делегата:
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
if let text = textField.text {
if text == "Specified text" {
label.text = "Correct"
}
textField.text = ""
}
textField.resignFirstResponder() // this is optional, you might wanna hide keyboard or not
return true
}