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 Tableau online 嵌入ppt失败
  • ¥100 支付宝网页转账系统不识别账号
  • ¥15 基于单片机的靶位控制系统
  • ¥15 真我手机蓝牙传输进度消息被关闭了,怎么打开?(关键词-消息通知)
  • ¥15 下图接收小电路,谁知道原理
  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题