亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

檢查數組中的值是否等于另一個 VueJS 中的值

檢查數組中的值是否等于另一個 VueJS 中的值

瀟湘沐 2023-09-07 16:49:36
我的 VueJS 實例中有兩個數組。這些數組顯示學生可以在學校參加的課程。第一個是用戶參加的課程,第二個是所有有學生參加的課程。數組看起來像這樣:let mainVue = new Vue({    el: '#mainContent',    data: {      myCourses: [{Course: "A"}, {Course: "B"}],      allCourses: [{Course: "A"}, {Course: "B"}, {Course: "C"}, {Course: "A"}]}這兩個數組都包含根據用戶輸入填充的數據,因此它們會隨著時間的推移而變化。第一個數組是用戶特定內容(用戶參加的課程),第二個數組是有人參加的所有課程的數組。我想檢查與用戶參加同一課程的人數。因此,在本例中,我想檢查數組 myCourses(課程 a 和 b)中有多少個位于數組 allCourses 中。換句話說,我想檢查數組“allCourses”中出現了多少次數組“myCourse”。
查看完整描述

2 回答

?
慕沐林林

TA貢獻2016條經驗 獲得超9個贊

可能有一個computed道具適合您(檢查 ID/課程名稱交集)


const mainVue = new Vue({

    el: '#mainContent',

    

    data: {

      myCourses: [{Course: "A"}, {Course: "B"}],

      allCourses: [{Course: "A"}, {Course: "B"}, {Course: "C"}, {Course: "A"}],

   },

   

   computed: {

      allCoursesCounts() {

        return this.allCourses.reduce((acc, { Course }) => {

          acc[Course] = (acc[Course] || 0) + 1

          return acc

        }, {})

      },

      subscribedTo() {

        const allCoursesCounts = this.allCoursesCounts


        return this.myCourses.map(({ Course }) => ({

          courseName: Course,

          amountOfUsers: allCoursesCounts[Course] || 0,

        }))

      }

   }

});

<div id="mainContent">

    <div v-for="({ courseName, amountOfUsers }) of subscribedTo" :key='courseName'>

      <span>Course {{ courseName }} - {{ amountOfUsers }}</span>

    </div>

</div>


查看完整回答
反對 回復 2023-09-07
?
慕少森

TA貢獻2019條經驗 獲得超9個贊

您想要過濾 myCourses 中出現的所有課程


allCourses.filter(course => {

   return myCourses.find(m => {

      return m.Course === course.Course

   })

}).length


查看完整回答
反對 回復 2023-09-07
  • 2 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號