You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何提取JSON数组日期字段值并转为目标字符串数组?

解决方案:将对象数组转换为日期字符串数组

嘿,我来帮你搞定这个转换问题!你现在的代码只是遍历输出了每个包含date属性的对象,但还没把里面的日期字符串提取出来并收集成目标数组。这里有几种简单的实现方式:

1. 用Array.map()(最简洁推荐)

map方法专门用来对数组的每个元素做转换,生成新数组,非常适合你的场景:

var datesBooking = [ {"date":"04\/24\/2018"}, {"date":"04\/25\/2018"} ];
// 遍历每个对象,提取date属性值组成新数组
var dateStrings = datesBooking.map(item => item.date);
console.log(dateStrings); // 输出: ['04/24/2018', '04/25/2018']

2. 用传统for循环

如果你更习惯用基础的循环写法,可以这样收集结果:

var datesBooking = [ {"date":"04\/24\/2018"}, {"date":"04\/25\/2018"} ];
var dateStrings = [];
for (var i = 0; i < datesBooking.length; i++) {
  // 把每个对象的date属性值推入新数组
  dateStrings.push(datesBooking[i].date);
}
console.log(dateStrings);

3. 用Array.forEach()

这也是一种遍历数组的常用方式,写法更直观:

var datesBooking = [ {"date":"04\/24\/2018"}, {"date":"04\/25\/2018"} ];
var dateStrings = [];
datesBooking.forEach(item => {
  dateStrings.push(item.date);
});
console.log(dateStrings);

为什么你原来的代码没得到目标结果?

你用for...in遍历数组时,拿到的是数组的索引(比如0、1),然后datesBooking[key]输出的是整个对象(比如{"date":"04/24/2018"}),而不是对象里的date值。只要在遍历的时候提取item.date并收集到新数组里,就能得到你想要的格式啦!

内容的提问来源于stack exchange,提问作者Juan David

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:59:59