js 数组对象处理

[

{backupType: "全备", weekCycle: 1, weekDay: 0, sequenceNumber: 1}

{backupType: "全备", weekCycle: 1, weekDay: 0, sequenceNumber: 2}

{backupType: "全备", weekCycle: 1, weekDay: 1, sequenceNumber: 2}

{backupType: "全备", weekCycle: 1, weekDay: 2, sequenceNumber: 3}

{backupType: "全备", weekCycle: 1, weekDay: 3, sequenceNumber: 3}

{backupType: "全备", weekCycle: 1, weekDay: 6, sequenceNumber: 3}

]

根据sequenceNumber,将数组分为三个部分,sequenceNumber一致的放在一块


[

{backupType: "全备", weekCycle: 1, weekDay: 0, sequenceNumber: 1}

{backupType: "全备", weekCycle: 1, weekDay: [0,1], sequenceNumber: 2}

{backupType: "全备", weekCycle: 1, weekDay: [2,3,6], sequenceNumber: 3}

]


蝴蝶刀刀
浏览 549回答 1
1回答

拉莫斯之舞

let data = [  {backupType: "全备", weekCycle: 1, weekDay: 0, sequenceNumber: 1},  {backupType: "全备", weekCycle: 1, weekDay: 0, sequenceNumber: 2},  {backupType: "全备", weekCycle: 1, weekDay: 1, sequenceNumber: 2},  {backupType: "全备", weekCycle: 1, weekDay: 2, sequenceNumber: 3},  {backupType: "全备", weekCycle: 1, weekDay: 3, sequenceNumber: 3},  {backupType: "全备", weekCycle: 1, weekDay: 6, sequenceNumber: 3}]let cache = {}data = data.filter(item => {  let num = item.sequenceNumber  let weekDay = item.weekDay  let tmp = cache[num]  if (tmp) {    let tmpWeekDay = tmp.weekDay    if (Array.isArray(tmpWeekDay)) {      tmpWeekDay.push(weekDay)    } else {      tmp.weekDay = [tmpWeekDay, weekDay]    }    return false  } else {    cache[num] = item    return true  }})
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript