第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

JavasSript 將一個(gè)對(duì)象數(shù)組拆分為具有特定鍵的多個(gè)數(shù)組

JavasSript 將一個(gè)對(duì)象數(shù)組拆分為具有特定鍵的多個(gè)數(shù)組

Cats萌萌 2022-12-29 09:44:30
上下文:我想制作一個(gè)檢查時(shí)間沖突的時(shí)間表計(jì)劃器。任何幫助是極大的贊賞。具體問題:無法弄清楚如何將我的對(duì)象數(shù)組拆分為多個(gè)重復(fù)某些鍵的數(shù)組。我的數(shù)據(jù)集:let myCourses = [  {    course: "ee3001",    slots: [      {        day: "monday",        time: "0900-1100",      },      {        day: "tuesday",        time: "0930-1100",      },      {        day: "wednesday",        time: "1330-1530",      },    ],  },  {    course: "ee3002",    slots: [      {        day: "monday",        time: "0900-1100",      },      {        day: "thursday",        time: "0930-1130",      },    ],  },  {    course: "ee3003",    slots: [      {        day: "tuesday",        time: "0930-1100",      },      {        day: "wednesday",        time: "1330-1530",      },      {        day: "thursday",        time: "0930-1130",      },    ],  },];我想將其拆分為的數(shù)組:let newarray = [  {    course: "ee3001",    slot: {      day: "monday",      time: "0900-1100",    },  },  {    course: "ee3001",    slot: {      day: "monday",      time: "1300-1400",    },  },  ...  ...];let newArray2 = //containing info on ee3002let newArray3 = //containing info on ee3003 **注意:**要填充數(shù)據(jù)集,即。用戶可以添加更多課程和時(shí)間。這樣做的原因是我可以利用數(shù)組的笛卡爾積來查找所有組合。然后我可以檢查給定組合中是否存在任何時(shí)間沖突。有沒有更好的方法來解決這個(gè)問題?
查看完整描述

2 回答

?
米琪卡哇伊

TA貢獻(xiàn)1998條經(jīng)驗(yàn) 獲得超6個(gè)贊

在這里,我使用 map 來遍歷您的數(shù)組,在該迭代中,我再次使用 map 來遍歷插槽。


 let myCourses = [

      {

        course: "ee3001",

        slots: [

          {

            day: "monday",

            time: "0900-1100",

          },

          {

            day: "tuesday",

            time: "0930-1100",

          },

          {

            day: "wednesday",

            time: "1330-1530",

          },

        ],

      },

      {

        course: "ee3002",

        slots: [

          {

            day: "monday",

            time: "0900-1100",

          },

          {

            day: "thursday",

            time: "0930-1130",

          },

        ],

      },

      {

        course: "ee3003",

        slots: [

          {

            day: "tuesday",

            time: "0930-1100",

          },

          {

            day: "wednesday",

            time: "1330-1530",

          },

          {

            day: "thursday",

            time: "0930-1130",

          },

        ],

      },

    ];

    

    const newArray=[]

    myCourses.forEach(myFunction);


    function myFunction(item, index) {

      newArray[index] = [];

      item.slots.map((child) =>

        newArray[index].push({ course: item.course, slots: child })

      );

    }



查看完整回答
反對(duì) 回復(fù) 2022-12-29
?
蝴蝶刀刀

TA貢獻(xiàn)1801條經(jīng)驗(yàn) 獲得超8個(gè)贊

再見,你可以嘗試使用這個(gè)例子:


let myCourses = [

      {

        course: "ee3001",

        slots: [

          {

            day: "monday",

            time: "0900-1100",

          },

          {

            day: "tuesday",

            time: "0930-1100",

          },

          {

            day: "wednesday",

            time: "1330-1530",

          },

        ],

      },

      {

        course: "ee3002",

        slots: [

          {

            day: "monday",

            time: "0900-1100",

          },

          {

            day: "thursday",

            time: "0930-1130",

          },

        ],

      },

      {

        course: "ee3003",

        slots: [

          {

            day: "tuesday",

            time: "0930-1100",

          },

          {

            day: "wednesday",

            time: "1330-1530",

          },

          {

            day: "thursday",

            time: "0930-1130",

          },

        ],

      },

    ];

    let Arrayee3001 = [];

    let array1 = myCourses.filter(course => course.course === "ee3001")

    array1[0].slots.forEach(slot => {

       let result = {};

       result.course = array1[0].course;

       result.slot = [];

       result.slot.push(slot);

       Arrayee3001.push(result);

    });

    

    console.log(Arrayee3001);

我已經(jīng)myCourses根據(jù)courseid 過濾了數(shù)組。然后我為找到的每個(gè)插槽創(chuàng)建了一個(gè) forEach slots,我創(chuàng)建了一個(gè)從數(shù)組中過濾得到的對(duì)象result,course以及當(dāng)前的slot. 最后,我將這個(gè)result對(duì)象推送到名為Arrayee3001.


查看完整回答
反對(duì) 回復(fù) 2022-12-29
  • 2 回答
  • 0 關(guān)注
  • 161 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)