map用法

位置:首页 / 技术中心 / 杂项

杂项 Admin 2025-12-17 17:57:08 107


      // 获取场次数据
      let res = await this.getSessionList(selectedValue.value);
      let sessionList = res.map(item=>(
      {
        sessionId:item.id
      }
      ))
      console.log(JSON.stringify(res),'res');
      console.log(JSON.stringify(sessionList),'sessionList');
      //将sessionList数组对象转换为数组
      sessionList = sessionList.map(item=>item.sessionId)
      console.log(JSON.stringify(sessionList),'转换后sessionList');
打印数据如下

[{"pageNum":null,"pageNo":null,"pageSize":null,"orderByColumn":null,"isAsc":"asc","reasonable":true,"createBy":"李笑思","createTime":"2025-12-17 17:52:18","updateBy":null,"updateTime":null,"deleteId":null,"deleteDate":null,"remark":null,"id":33,"userId":36471,"activityId":646,"type":null,"content":null,"describe":null,"score":null,"deptId":936,"delFlag":0,"startDate":"2025-12-17 17:52:17","endDate":null,"idCard":null,"activityName":"测试常态活动","activitySignCount":0,"activityConfirmCount":0,"orderBy":""},{"pageNum":null,"pageNo":null,"pageSize":null,"orderByColumn":null,"isAsc":"asc","reasonable":true,"createBy":"李笑思","createTime":"2025-12-17 15:29:20","updateBy":"李笑思","updateTime":"2025-12-17 17:51:38","deleteId":null,"deleteDate":null,"remark":null,"id":32,"userId":36471,"activityId":646,"type":null,"content":null,"describe":null,"score":null,"deptId":936,"delFlag":0,"startDate":"2025-12-17 15:29:20","endDate":"2025-12-17 17:51:38","idCard":null,"activityName":"测试常态活动","activitySignCount":1,"activityConfirmCount":0,"orderBy":""}] res



[{"sessionId":33},{"sessionId":32}] sessionList


[33,32] 转换后sessionList


情况一、数组对象转数组对象(重构后的)

情况二、数组对象转数组

情况三、多次执行同一个方法

  // 批量确认操作
  async batchConfirm() {
    const selectedItems = this.data.listData.filter(item => item.checked);
    if (selectedItems.length === 0) {
      wx.showToast({
        title: '请先选择要操作的项',
        icon: 'none'
      });
      return;
    }
    // 批量确认操作
     selectedItems.map(item => {
      this.checkInOut(item.id,item.activityId,item.startTime,item.endTime,item.integral)
     });
  },
问题,无法执行刷新操作,需将map换成for循环

    // 批量确认操作
    for (const item of selectedItems) {
      await this.checkInOut(item.id,item.activityId,item.startTime,item.endTime,item.integral)
    }
    // 刷新数据
    await this.getList(this.data.activityId)
  },

  // 批量删除操作
  async batchCancel() {
    const selectedItems = this.data.listData.filter(item => item.checked);
    if (selectedItems.length === 0) {
      wx.showToast({
        title: '请先选择要操作的项',
        icon: 'none'
      });
      return;
    }
    // 批量删除操作
    await this.deleteActivityMan(selectedItems.map(item => item.id))
    console.log('批量删除的项:', selectedItems);
    // 这里可以添加批量删除的逻辑,例如调用接口
    await this.getList(this.data.activityId)
  }
18455111359 扫描二维码