qq_17132269 2023-03-21 19:08 采纳率: 50%
浏览 55
已结题

关于#微信小程序云开发#的问题,如何解决?

用小程序云开发将用户完成的问卷传到了云数据库上 如下图answer数组中bh是题号 sel是选的选项
我要怎么实现对answer数组进行遍历 找出哪些人的问卷里选了超过2个C 并在页面打印出这些用户的信息
看官方文档的示例并不是很懂

img

预期是选择问卷后底下能出现符合以上条件的问卷所填的用户的信息

img

  • 写回答

3条回答 默认 最新

  • 极客智能体-在线 2023-03-23 17:17
    关注

    以下答案由GPT-3.5大模型与博主波罗歌共同编写:
    首先,你需要获取到云数据库中存储的所有用户的问卷信息,可以使用小程序云开发提供的cloud.callFunction方法,创建一个云函数来获取云数据库中存储的用户问卷信息。具体步骤如下:

    1. 创建云函数
      在小程序开发者工具中,右键点击云函数文件夹,选择创建并部署一个新的云函数,可以取名为getUserAnswer

    2. 编写云函数代码
      getUserAnswer文件夹中打开index.js文件,编写云函数代码。以下是一个简单的示例代码:

    // 云函数入口文件
    const cloud = require('wx-server-sdk')
    cloud.init()
    
    // 云函数入口函数
    exports.main = async(event, context) => {
      const db = cloud.database()
      const result = await db.collection('user_answer').get()
      return result.data
    }
    

    这个云函数会查询云数据库中名为user_answer的集合,并返回所有记录的数据数组。

    1. 调用云函数
      在小程序页面中,可以使用以下代码调用上述的云函数,并获取到云数据库中的所有用户填写的问卷:
    wx.cloud.callFunction({
      name: 'getUserAnswer',
      success: res => {
        console.log('用户问卷信息:', res.result)
        // 在成功回调中进行处理
      },
      fail: console.error
    })
    

    接下来,你需要遍历这个数组,找到所有选了超过两个"C"选项的用户,并将其信息打印在页面上。

    可以使用Array.prototype.forEach()方法遍历数组并查找符合条件的用户信息。以下是参考代码:

    wx.cloud.callFunction({
      name: 'getUserAnswer',
      success: res => {
        const answerList = res.result
        let userList = []
        answerList.forEach(answer => {
          let cCount = 0
          answer.answer.forEach(item => {
            if (item.sel === 'C') {
              cCount++
            }
          })
          if (cCount > 2) {
            userList.push({
              name: answer.name,
              gender: answer.gender,
              age: answer.age
            })
          }
        })
        console.log('符合条件的用户信息:', userList)
        // 可以通过setData()方法更新页面数据
      },
      fail: console.error
    })
    

    在上述代码中,首先遍历云数据库中所有的用户问卷信息,累计每个用户选了多少个"C"选项,如果超过了2个,就将该用户的姓名、性别和年龄信息添加到一个数组中。遍历完成后,就可以得到所有符合条件的用户信息,可以使用setData()方法将其绑定到页面数据中。
    如果我的回答解决了您的问题,请采纳!

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 3月23日
  • 已采纳回答 3月23日
  • 修改了问题 3月21日
  • 创建了问题 3月21日

悬赏问题

  • ¥15 在线手电筒追加按钮JS
  • ¥15 调用函数时,无关变量的改变引起函数值的改变
  • ¥15 xy坐标转化为经纬度坐标
  • ¥15 一般三角模糊数的上界值和下届值取中值的多少比较合理?
  • ¥15 关于#python#的问题,请各位专家解答!
  • ¥20 Hbase启动失败,无法启动HMaster
  • ¥20 Lumerical FDTD solutions 中模型的相对阻抗,有效介电常数和有效磁导率的实部和虚部的数据如何获得?
  • ¥100 sql reporting service 远程smtp服务器配置支持
  • ¥15 ppyoloe_r带角度目标检测,loss_cls没法收敛
  • ¥15 淘宝交易指数如何解读,其关联的数据指标是什么