javascript - 用javascript创建一个新数组
问题描述
当我有两个数组时,需要帮助制作新数组
第一:
var start=[ "11/10/2021", "05/10/2021", "16/10/2021", "03/10/2021" ]
第二:
var end=[ "10/10/2021", "04/10/2021", "15/10/2021", "01/10/2021" ]
我用代码创建了一个新数组,但出现错误:
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));
}
所以输出如下:
var daterange =[{
'start': moment('2021-10-10'),
'end': moment('2021-10-15')
},
{
'start': moment('2021-10-25'),
'end': moment('2021-10-30')
}
];
解决方案
我通过创建对象将 textdiv 中的任何内容存储在 daterange 数组中所需的正确键值对中。Moment 仅将字符串转换为给定格式的日期。
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.
}
推荐阅读
- ruby - nil:NilClass 的未定义方法“执行”
- java - Outlook 无法在 MimeMessage 中显示图像
- php - 由空格分隔的正则表达式组词
- javascript - element.style 未定义
- php - 什么时候应该使用 hasOne(),什么时候应该使用 belongsTo()?
- pandas - 为什么 pandas.date_range() 生成月份这么慢?
- javascript - Django:如何将模板列表传递给 JavaScript onclick 方法?
- c# - 等待一个函数调用将完成 c#
- android - 失败 - 未安装 0
- opengl-es - 使用模板缓冲区渲染时纹理中的 OpenGL 透明度