Necesito ayuda para hacer una nueva matriz, cuando tengo dos matrices
El primero:
var start=[ "11/10/2021", "05/10/2021", "16/10/2021", "03/10/2021" ]El segundo:
var end=[ "10/10/2021", "04/10/2021", "15/10/2021", "01/10/2021" ]Y hago una nueva matriz con código, pero aparece un error:
var start= []; var end= []; var daterange =[]; var daterange = JSON.stringify(response); var textdiv=JSON.parse(daterange ); for (var i = 0; i < textdiv.length; i++) { sart.push(textdiv[i].a); end.push(textdiv[i].b); daterange.push('start'=>moment(textdiv[i].a),'end'=>moment(textdiv[i].b)); }Así que la salida es la siguiente:
var daterange =[{ 'start': moment('2021-10-10'), 'end': moment('2021-10-15') }, { 'start': moment('2021-10-25'), 'end': moment('2021-10-30') } ];Tomé lo que venía en textdiv y lo almacené en la clave adecuada, el par de valores según lo requerido en la matriz de rango de fechas mediante la creación de un objeto. El momento solo convierte la cadena a la fecha en el formato dado.
var start= []; // if you already have start, you can not reinitialize it, I think you are creating a fresh array here for later use. var end= []; var daterange =[]; var daterange = JSON.stringify(response); var textdiv=JSON.parse(daterange ); console.log(textdiv, daterange); // please check what you are actually getting after parsing to understand your error better for (var i = 0; i < textdiv.length; i++) { let a = textdiv[i].a; // there is a typo here let b = textdiv[i].b; daterange.push({'start' :moment(a).format('YYYY-MM-DD'),'end':moment(b).format('YYYY-MM-DD')});// you need to store them as object if you want to push them together and use format function to properly insert it as date. }