如何根据一个数组中某一项值与另一个数组进行比对后返回相同值的数组

就比如说一个场景:查询功能,有七个按钮,分别是思政,历史,地理,物理,化学,生物,技术。用户点击后返回的值是1,4,7,现在需要实现的是,当点击查询完返回时,回显用户选中的科目。

const chooseSubject = [
      { chooseId: 1, courseName: '思政', checked: false },
      { chooseId: 1, courseName: '历史', checked: false },
      { chooseId: 1, courseName: '地理', checked: false },
      { chooseId: 1, courseName: '物理', checked: false },
      { chooseId: 1, courseName: '化学', checked: false },
      { chooseId: 1, courseName: '生物', checked: false },
      { chooseId: 1, courseName: '技术', checked: false }
    ]
    const chooseId = [1, 4, 5]

    const checkedList = chooseSubject.map(item => {
      const s = chooseId.filter(i => { return i === item.chooseId })
      const k = s.toString()
      if (k) {
        chooseSubject[k].checked = true
      }
      return item
    })

以小程序为例,最后要setData中更新一下原数组。
在这里插入图片描述


版权声明:本文为weixin_45780818原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。