ES6如何遍历对象数组并替换经时区转换后的time属性值
解决方案
你可以通过数组的map或者forEach方法遍历修改字段,首先需要修正你现有转换代码的两处小问题:
- 需要把每个对象的实际
time值作为第一个参数传入moment.tz,而非写死字符串"time" format方法的参数引号需要闭合,可根据你需要的输出格式调整模板
方法1:生成新数组(不修改原数据,无副作用更推荐)
const convertedArray = array.map(item => { return { ...item, // 调整format参数匹配你需要的时间格式即可 time: moment.tz(item.time, "America/Toronto").format("YYYY-MM-DD HH:mm") } })
方法2:直接修改原数组
array.forEach(item => { // 要和你示例输出格式匹配的话,把format参数改成对应模板即可,比如第二个值带T就用"YYYY-MM-DD[T] HH:mm" item.time = moment.tz(item.time, "America/Toronto").format("YYYY-MM-DD HH:mm") })
内容的提问来源于stack exchange,提问作者programhur
相关产品推荐
相关产品推荐

