как найти и сравнить значение отдельных объектов в массиве объектов

#javascript #reactjs

#javascript #reactjs

Вопрос:

Я пытаюсь создать форму регистрации React.

У меня есть задача создать поля ввода для формы и проверить их значения с помощью регулярного выражения и сравнения значений пароля и повторного пароля с электронной почтой.

Все в порядке, но проверить значения пароля и r.пароль сложный

 const fieldsValidation = () => {
  const newState = [...fieldsState];
  for (let [index, element] of newState.entries()) {

    if (element.value.length < element.valueLength) {
      return changeFields(() => {
        newState[index].error = true;
        return newState;
      });
    }
  };
  return registerUser();
};
 

это конфигурация, которую я пытаюсь интегрировать с моим проектом react

 export const textFieldConfig = [{
    id: 'email',
    type: 'email',
    label: 'email',
    value: '',
    variant: 'outlined',
    size: 'small',
    error: false,
    helperText: 'email must include 8 char and @.',
    valueLength: 8
  },
  {
    id: 'password',
    type: 'password',
    label: 'password',
    value: '',
    variant: 'outlined',
    size: 'small',
    error: false,
    helperText: 'password must be min 6',
    valueLength: 6
  },
  {
    id: 'repeatPassword',
    type: 'password',
    label: 'repeat-password',
    value: '',
    variant: 'outlined',
    size: 'small',
    error: false,
    helperText: 'please include same password value',
    valueLength: 6
  }
];
 

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

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

2. вы видите здесь, что я попробовал цикл и задал вопрос, почему я не могу перейти на следующий этап

3. представьте, что вы пытаетесь ответить на этот вопрос без дополнительного контекста: мне нужно было бы найти, какое это решение формы (похоже на подробный материал в пользовательском интерфейсе, но хочу ли я тратить время на проверку?), Затем мне нужно изучить документ, чтобы понять, какова структура fieldstate и его элементов. Это большая работа для того, что вы могли бы предоставить. И я вижу минимальные усилия в этом вопросе, так зачем кому-то беспокоиться? В любом случае, я надеюсь, что этот отзыв поможет вам ответить на ваши будущие вопросы 👋

Ответ №1:

Я полагаю, если ваш объект не меняется, это подойдет

 if(textFieldConfig[1].value == textFieldConfig[2].value){
....
}
 

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

1. в цикле for of этот подход не работает, я предлагаю, потому что наш массив уже зациклен, и мы можем получить доступ только к ключам и элементам