Лучший способ поиска данных ответов в React Native?

#react-native

Вопрос:

У меня есть собственное приложение, которое я создаю с помощью React Native. Я все еще очень новичок в родной реакции и пытаюсь найти наиболее эффективный способ сделать это.

У меня есть этот фрагмент кода, который принимает данные с наших серверов LDAP и назначает их крючкам.

 .then((response) => {
    setName(response.data.ldap_users[0].realname);
    setPosition(response.data.ldap_users[0].position);
    setPhone(response.data.ldap_users[0].phone);
    setEmail(response.data.ldap_users[0].email_address);
    setUsername(response.data.ldap_users[0].username);
    setRealName(response.data.ldap_users[0].real_name);
    setRoom(response.data.ldap_users[0].room);
    setIsSending(false);
    return data;
 

У всех наших пользователей есть имена пользователей, которые начинаются с A, B или C, например A67345 или B45437 и т.д.

Однако в наших учетных записях с повышенными правами есть буквы, такие как D и E, и иногда в массиве они оказываются в слоте 0. Мне нужно этого избежать.

Так, например, у Билли 2 учетные записи, его основная учетная запись имеет имя пользователя A5555 и у него повышенное имя пользователя учетной записи D6629. В ответе на имя пользователя его D6629 может быть в слоте 0, а его учетная запись A, которая мне нужна, находится в слоте 1, что делает приведенный выше код бесполезным.

Я недостаточно хорошо знаком с тем, как React Native перебирает и находит, начинается с и извлекает эту переменную.

Каков наилучший подход к этому?

На любом другом языке я бы просто использовал a для каждого цикла, ищущего StartsWith(«A»)

Спасибо!

Ответ №1:

вам нужна if такая проверка.

     if(response.data.ldap_users[0].username.charAt(0).toUpperCase() === 'A' || other conditions){
             // push your data here
    }
 

вы могли бы использовать foreach цикл, такой как

     response.data.ldap_users[0].foreach((user) => {
      if(user.username.charAt(0).toUpperCase() === 'A' ||charAt(0).toUpperCase() === 'B' ||charAt(0).toUpperCase() === 'C'){
    // add user user to the array here 
    }else{
    // ignore
    }

})
 

Комментарии:

1. Хорошо, у меня была проверка «если», и она работает только несколько раз. Просто сделайте кучу проверок «Если» для каждого слота?