let data = [
{"createdAt": "2020-08-02T11:00:24.580Z", "name": "西瓜"},
{"createdAt": "2020-08-03T11:00:24.580Z", "name": "水蜜桃"},
{"createdAt": "2020-08-03T11:00:24.580Z", "name": "樱桃"},
{"createdAt": "2020-08-02T11:00:24.580Z", "name": "西柚"},
]
方法:使用 dayjs(createdAt).format('YYYY-MM-DD') 转换
注:dayjs 安装引用
npm install dayjs --save import dayjs from 'dayjs'
for ( let i=0i<array.lengthi++ ) {
let createdAt = dayjs(array[i].time)
array[i].createdAt = createdAt
}
mapName (array) {
let newArray = []
array.forEach((item, i) =>{
let index = -1
let alreadyExists = newArray.some((newItem, j) =>{
if (item.createdAt === newItem.createdAt) {
index = j
return true
}
})
if (!alreadyExists) {
newArray.push({
createdAt: item.createdAt,
name: [item.name]
})
} else {
newArray[index].price.push(item.name)
}
})
return newArray
}
你好,
先说一年的月份,这个需要问吗?一年能出现13个月?所以:
var monthOfYear = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]// 或者中文,根据你的需求自己定
var monthOfYear = ['一月', '二月', '三月', '四月', '五月', '六月', '七月', '八月', '九月', '十月', '十一月', '十二月']
再来说获取最近三个月月份的事情:
// 先取到当前日期对象var date = new Date()
// 月份数组
var nearThree = []
// 当月
var month = date.getMonth()
// 现将本月推入数组
nearThree.push(monthOfYear[month])
// 最近一月逆推两个月
for (var i = 1 i <= 2 i++) {
date.setMonth(month - i)
nearThree.unshift(monthOfYear[date.getMonth()])
}
console.log(monthOfYear)
console.log(nearThree)
好了,希望能解决你的问题。
之前我已经有讲过后台返回json数据到前台,并在前台遍历json数据。这里讲下直接在JS里创建JSON数据,然后遍历使用~
创建代码如下:(创建的是JSON对象)
?
12345678
var YearSelect = {}var Year = 2014var DateOptionfor (var i = Yeari <Year + 12i++) { DateOption = {'Year':i, 'Month':i-Year+1}/ alert(DateOption.Year) YearSelect[i] = DateOption}
这里是创建一个JSON对象,包括了年份和月份的数据。
我为什么创建JSON对象,是因为我对JSON对象比较熟悉。php后台返回的也是json对象。
json对象没有length属性~~
所以遍历的话要:
for(var key in YearSelect){ alert(YearSelect[key].Year)alert(YearSelect[key].Month)}
这样就可以了~
记住一定要分辨好json的对象和数组~不然就一直是undenfined