Tengo una Api de publicación en la que quiero enviar las respuestas según la entrada de los usuarios en una matriz como: respuesta del usuario ["correcto", "correcto", "incorrecto", "no Intento", "correcto"] y luego reemplazar el correcto y respuestas incorrectas basadas en su índice en la siguiente sección en una matriz diferente que es así:
{ "respuestasArray": [ "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado", "nointentado ", "no intentado" ], }
const [arry, setArry] = useState([]); const nextQuestion = (examData) => { if (studentAnswered == examData[currentQuestion].correct) { setArry((prevState) => [...arry, "correct"]); } else if (studentAnswered == null) { setArry((prevState) => [...arry, "notAttempted"]); } else { setArry((prevState) => [...arry, "wrong"]); } setCurrentQuestion(currentQuestion + 1); setStudentAnswered(null); };La matriz es una función useState y NextQuestion es una función onClick que agrega la respuesta seleccionada a la matriz onClick o mantiene el valor nulo si no se selecciona ninguna opción. ** Pude hacer la mayor parte del trabajo. Ahora solo necesito actualizar las respuestas correctas e incorrectas al AnswersArray anterior en función de sus índices. Gracias **
Editar: la primera matriz almacenará la opción que el usuario seleccione. Digamos que tiene 20 preguntas y el usuario responde 5 preguntas. UserAnswer ["correcto", "correcto", "incorrecto", "no intentado", "correcto"]. las respuestas correctas e incorrectas deben insertarse en la segunda matriz anterior en la que todos los índices tienen almacenado el valor "notAttempted". Entonces, mi pregunta es cómo puedo actualizar los valores en Array2 con los valores en array1, que es userAnswer. La matriz de respuestas debería verse así:
{ "respuestasArray": [ "correcto", "correcto", "incorrecto", "nointentado", "correcto", "nointentado", "nointentado", "nointentado", "nointentado" ], }
Los valores en userAnswer se insertarán en answersArray en función del número de índice. Espero que esto aclare la pregunta ahora.
Intente usar métodos de matriz para reemplazar cualquier valor en la matriz usando un índice.