App Inventor 2 列表排序,函数式编程轻松实现高级排序算法

简介: 本文探讨了列表的函数式编程高级用法,允许根据自定义逻辑进行排序。不仅支持基本数据类型(文本和数字)的升序和降序排序,还能处理复杂结构类型中特定元素的排序。通过示例展示了如何定义比较函数来实现升序和降序,简化了排序操作。

本文主要介绍 列表 的高级用法,即函数式编程,可以按照指定的逻辑进行列表的排序,而无需我们自己写代码实现排序功能。

指定的逻辑也包括很复杂的逻辑,也就是说如果你的排序逻辑很复杂,函数式编程就是最好的使用场景。

基本数据类型(文本和数字)升序

基本数据类型(文本和数字)降序

这时就要用到函数式编程了,按照函数中指定的逻辑进行排序:

可以看到仅仅就是对前后两个元素进行比较,大于号是降序(小于号升序,效果和第一种一样),要注意的是,比较函数最好用各自的(文本用字符串比较,数字用数字比较块)。

复杂结构类型中指定元素的升/降序

函数体中写法的含义:参数是二维列表中的列表项,也就是某个人的对象,如["张三","学生","10"],它本身也是一个列表,我们要把第三个元素也就是年龄至拿出来作比较。

只要把比较的逻辑反一下,排序的顺序也会相反,变成了降序。

有了这种排序方法,我们再也不用去重复造轮子自己写排序算法了,几个代码块就能搞定,so easy!

列表其他函数式编程用法

用法也是一样的,更多用法请查看原文:https://www.fun123.cn/reference/pro/advlist.html

相关文章
|
4月前
uni-app 172标签列表和标签用户列表
uni-app 172标签列表和标签用户列表
62 1
|
4月前
|
API
uni-app 146朋友圈列表api开发
uni-app 146朋友圈列表api开发
49 0
|
1月前
|
网络协议 物联网 测试技术
App Inventor 2 MQTT拓展入门(保姆级教程)
本文演示的是App和一个测试客户端进行消息交互的案例,实际应用中,我们的测试客户端可以看着是任意的、支持MQTT协议的硬件,通过订阅及发布消息,联网硬件与我们的App进行双向数据通信,以实现万物互联的智能控制效果。
126 2
|
2月前
|
JSON API 数据格式
App Inventor 2 天气预报App开发 - 第三方API接入的通用方法
通过调用第三方天气api,填入必要的参数,通过Web客户端请求url。返回json格式的数据结果,使用AppInventor2解析json结果,显示到App上即可。
108 5
|
2月前
|
存储 物联网 数据库
App Inventor 2 低功耗蓝牙 BlueToothLE 拓展中文文档(完整翻译加强版)
低功耗蓝牙,也称为蓝牙LE 或简称 BLE,是一种类似于经典蓝牙的新通信协议,不同之处在于它旨在消耗更少的功耗和成本,同时保持同等的功能。 因此,低功耗蓝牙是与耗电资源有限的物联网设备进行通信的首选。
90 0
|
2月前
|
JSON 人工智能 API
App Inventor 2 人脸识别App开发 - 第三方API接入的通用方法
**App 效果图**:展示人脸识别功能,可识别性别和年龄。 **工作原理**:调用第三方人脸识别API,上传图片并接收返回的JSON数据,AppInventor2解析结果显示。
65 0
|
4月前
uni-app 94群聊列表分页(二)
uni-app 94群聊列表分页(二)
35 1
uni-app 94群聊列表分页(二)
|
4月前
|
机器学习/深度学习 搜索推荐 算法
实现手机 app 千人千面的特性,背后有哪些机器学习算法
实现手机 app 千人千面的特性,背后有哪些机器学习算法
|
4月前
|
人工智能 算法 数据处理
App Inventor 2 Personal Image Classifier (PIC) 拓展:自行训练AI图像识别模型,开发图像识别分类App
这里仅仅介绍一下AI图像识别App的实现原理,AI的基础技术细节不在本文讨论范围。通过拓展即可开发出一款完全自行训练AI模型,用于特定识别场景的App了。
122 1
|
4月前
uni-app 93 群聊列表分页(一)
uni-app 93 群聊列表分页(一)
72 0
uni-app 93 群聊列表分页(一)