tengo este codigo:
for(let i =0; i < upbtn.length; i++){ upbtn[i].addEventListener('click', function(){ let whichTopic = i if(whichTopic == 0){ return true } else{ let arr = coursenewtopics.value arr = JSON.parse(arr) arraymove(arr, i, i-1) coursenewtopics.value = arr console.log(arr) console.log(coursenewtopics.value) //changeordertopicsform.submit() } }) }Estoy tratando de ordenar una matriz desde una entrada oculta y luego establecer el valor de la entrada oculta en la matriz ordenada, la consola registró los resultados de la matriz ordenada (arr)
[ { "type": "text", "name": "", "text": "" }, { "type": "text", "name": "2", "text": "" }, { "type": "text", "name": "1", "text": "" }, { "type": "text", "name": "3", "text": "" }, { "type": "text", "name": "4", "text": "" } ]y los resultados son los que quiero, sin embargo, cuando después de poner este valor, simplemente registré arr en la entrada oculta, luego el registro de la consola, el valor de la entrada oculta se convierte en:
[object Object],[object Object],[object Object],[object Object],[object Object]¿Por qué JavaScript actúa así? ¿Cómo soluciono esto y pongo los valores en la entrada oculta sin hacer que vayan [objeto Objeto]? Los necesito para un formulario más adelante.
¡Gracias!
entonces su problema es 'Cómo mostrar una matriz de objetos literalmente'.
puedes probar JSON.stringify(arr, null, ' ')