微信小程序多维数组筛选(以二维数组为例)

我们在遇到微信小程序进行筛选的时候,一般会使用到filter函数来进行筛选,但是有时候遇到多维数组怎么办呢?

//例如这是我们的数组
arr: [{id: 1,name: 'A',teachers: [{course: 'M',classes: 'J',}]},{id: 2,name: 'C',teachers: [{course: 'Z',classes: 'L',}]},{id: 3,name: 'E',teachers: [{course: 'B',classes: 'C',}]},],

可能我们会选择使用两次filter函数,可是我们就会发现,怎么筛选结果都是有问题的,所以这会我们就需要forEach函数了。

使用方法如下:

let newArray = []arr.forEach((now, index) => {newArray[index] = nownewArray[index].teachers = now.teachers.filter((item) => {return item.course === twoInput   //twoInput你输入的内容进行匹配})})arr = arr.filter((item) => {return item.teachers != ''})
  1. 先用forEach遍历外部数据 ,得到单条数据;
  2. 再使用filter进行数据匹配 ,如果与你输入内容匹配就会筛选下来;如果没有的话就会被删除,成为一条空数据;
  3. 最后再使用filter把空的数据那条删掉 ,留下来的就是筛选后的数组。

掌握到这种方法了,其余的多维数组是一样的原理,我们先使用forEach遍历出外层数组,再进行匹配。

如果有问题,欢迎一起讨论,共同进步!初学微信小程序,有问题请指出,谢谢~

微信小程序多维数组筛选(以二维数组为例)相关推荐

  1. 微信小程序官方接口生成带参数二维码

    最近在做一个点餐项目需要生成带参数的二维码供顾客扫码点餐,网上有用许多二维码生成器,比如"草料二维码生成器",但是我还是偏爱用微信小程序官方提供的接口来实现. 首先贴一个文档地址, ...

  2. 微信小程序:实现长按扫描二维码

    小程序内置扫描二维码 image 使用小程序提供的image组件,image组件上有一个show-menu-by-longpress的属性,设置为true <image show-menu-by ...

  3. 微信小程序实现自定义单选功能(二维数组模式)

    公司有这样的需求,因为每个学校的布局不一样所以字段不是固定的,后台可自定义添加任意组合,所以后端返回的是一个二维数组. list:[ {name: '建筑',id: 19,group_pid: 0,s ...

  4. 【微信小程序】接口生成自定义首页二维码

    1.背景 在原有小程序上开发了一个新的功能,需要整合首页.但是为了不影响原有业务,且能测试新功能.所以需要新生成一个二维码,用户扫描该二维码可以跳转到新功能的页面. 2.方法 2.1生成二维码的接口: ...

  5. 微信小程序web-view 实现长按识别二维码

    小程序长按识别二维码, 网页在小程序中长按识别二维码,web-view长按识别二维码 效果图: html 代码: <!DOCTYPE html> <html><head& ...

  6. 微信小程序如何支持长按识别二维码功能

    1.previewImage 小程序wxml <image src="{{image}}" bindtap="imgLoad"></image ...

  7. 微信小程序 最全 生成带参数二维码

    摸索了几天终于完成了,接口A B C 通用 ,接口B只能生成已发布的小程序 $appid='APPid'; $secret='你的小程序秘钥'; $tokenUrl="https://api ...

  8. 微信小程序学习之路——API获取二维码

    获取二维码 通过后台接口可以获取小程序任意页面的二维码,扫描该二维码可以直接进入小程序对应的页面. 可以使用开发工具 1.02.1803130 及以后版本通过二维码编译功能调试所获得的二维码 为满足不 ...

  9. 获取其他人微信小程序的任意路径以及生成二维码

    如果想要获取别人的小程序页面路径和参数,也不是没有办法,我们只需要通过小程序平台提供的工具就可以简单的获取得到. 当然,前提是获取到目标小程序的APPID,这个应该很简单,没必要在这里阐述. 第一步, ...

  10. 微信小程序:长按图片识别二维码

    方法一:使用小程序提供的image组件,image组件上有一个show-menu-by-longpress的属性,设置为true,当image被长按时会弹出选择菜单 <image show-me ...

最新文章

  1. K3ERP连接数据库问题
  2. 阿里平头哥首款CPU芯片发布!5nm倚天710,128核单片600亿晶体管,无人能与争锋...
  3. java debug体系为什么不能debug到jdk里所有的代码
  4. 付费会员制,如何赋能产品?
  5. NYOJ练习题 删除元素(二分查找)
  6. Windows下启动,关闭Nginx命令
  7. evernote 替代_Evernote的5种开源替代品
  8. 【Flink】Flink CancellationException null DefaultExecutionGraphCache LeaderRetrievalHandler
  9. 使C#代码现代化——第四部分:类型
  10. 无声也能语音识别?微软这个黑科技有点厉害
  11. Python程序设计--第5章 函数设计与使用
  12. cmd 打开资源监视器
  13. 利用云计算来实现业务转型呢,有五个步骤可以遵循
  14. VLIW Microprocessor Hardware Design
  15. readyState的值的含义
  16. [应用推荐]FreeMind自动生成系统盘的树状图(思维导图)
  17. 【爬虫】Python爬虫经验分享--爬取码市招聘项目
  18. web扫描器之Nessus
  19. c语言100列作业,C语言经典例题100例——C语言练习实例72解答(链表)
  20. nginx报错找不到指定路径

热门文章

  1. CSS实现背景图片全屏自适应
  2. linux拷贝目录并修改名字,linux复制文件夹、重命名文件夹、删除文件夹
  3. js逆向、安卓逆向教程
  4. HITSZ掌上校园重构
  5. linux 查看CPU频率
  6. matlab模拟三体运动_三体运动的matlab演示.docx
  7. 国内大模型领域进入乱战时代
  8. PTA竞速 7-4 哥德巴赫猜想
  9. python小试牛刀: K-best算法
  10. 磁通门传感器在车辆管理中的应用