elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: AIO elhacker.NET 2021 Compilación herramientas análisis y desinfección malware


+  Foro de elhacker.net
|-+  Programación
| |-+  Desarrollo Web (Moderador: #!drvy)
| | |-+  [Pregunta]: Definir un arreglo vacío (javascript).
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pregunta]: Definir un arreglo vacío (javascript).  (Leído 433 veces)
MiguelCanellas


Desconectado Desconectado

Mensajes: 637



Ver Perfil
[Pregunta]: Definir un arreglo vacío (javascript).
« en: 3 Enero 2021, 22:32 pm »

Hola,

¿Cómo podría definir un arreglo vacío?
Me explico...

Código
  1. var formdata = new FormData();
  2. var my_array = []; // esto es un arreglo vacío, si por consola imprimimos este dato nos va a devolver: []
  3.  
  4. for(var i = 0; i < my_array.length; i++)
  5. {
  6.      formdata.append('my_array[]', my_array[i]);
  7. }


Como el tamaño del arreglo es 0 porque está vacío, no va a entrar en ninguna interacción y no va a agregar dicho arreglo.

Intenté con algunas otras maneras pero siempre me termina agregando un dato vacío.. "" cuando lo llamo con formdata.get('my_array[]'); y lo que yo quiero que devuelva sea: [] que significa arreglo vacío.


Mod: Sacados los comentarios a texto para mejor lectura.


« Última modificación: 4 Enero 2021, 00:08 am por #!drvy » En línea

#!drvy
Moderador
***
Desconectado Desconectado

Mensajes: 5.613



Ver Perfil WWW
Re: [Pregunta]: Definir un arreglo vacío (javascript).
« Respuesta #1 en: 4 Enero 2021, 00:14 am »

Con ese código que tienes, formdata.get('my_array[]') va a devolver un null, por lo tanto te está indicando que no hay contenido para ese key.

Esto es un comportamiento esperado pues tal es su especificación:

https://developer.mozilla.org/en-US/docs/Web/API/FormData/get
A FormDataEntryValue containing the value. If the key doesn't exist, the method returns null.

Sospecho que tu problema es en otro frente que no nos muestras. ¿Donde te retorna un ""?


Saludos


En línea

@XSStringManolo
<svg/onload=alert()>
Colaborador
***
Desconectado Desconectado

Mensajes: 2.231


Turn off the red ligth


Ver Perfil WWW
Re: [Pregunta]: Definir un arreglo vacío (javascript).
« Respuesta #2 en: 4 Enero 2021, 05:25 am »

Que se supone que quieres saberbo hacer?

El titulo de tu pregunta es como declarar un array vacio y ya lo estás haciendo.

En tu código tienes un bucle de 0 al tamaño del array vacio, que también es 0. Asique tu bucle hace 0 iteraciones, o lo que es lo mismo, no hace nada.

Aunque iterases una vez el bucle, estás haciendo append de un elemento de una array que no tiene elementos. El array no tiene dentro []. No tiene nada dentro. [] Es para delimitar los elementos que pertenecen al array.
var myArray = [1, 3];

Pregunta algo concreto o muestra el problema que quieres resolver.
En línea

MinusFour
Moderador Global
***
Conectado Conectado

Mensajes: 4.968


I'm fourth.


Ver Perfil WWW
Re: [Pregunta]: Definir un arreglo vacío (javascript).
« Respuesta #3 en: 4 Enero 2021, 14:38 pm »

Sospecho que tu problema es en otro frente que no nos muestras. ¿Donde te retorna un ""?


Saludos

Yo creo que su problema está mal ejemplificado.

Código
  1. let fm = new FormData();
  2. fm.append('arr', []);
  3. console.log(fm.get('arr') === ''); //true

Es lo que probablemente este haciendo.

FormData serializa la información con String. Si tuvieras ['perro', 'gato', 'caballo'], el objeto agregaría 'perro, gato, caballo'.

No puedes almacenar objetos dentro de FormData sin que tu serializes/deserializes en cada llamada con JSON y JSON tiene sus limitaciones.

Encima, FormData no fue pensado para esto.
« Última modificación: 4 Enero 2021, 14:40 pm por MinusFour » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines