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

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

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

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

图片

图片

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

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

图片

图片

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

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

图片

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

图片

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

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

列表其他函数式编程用法

用法都是大同小异,列表更多的函数式编程用法请查看原文:

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/36499.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue--》从零开始打造交互体验一流的电商平台(四)完结篇

今天开始使用 vue3 + ts 搭建一个电商项目平台,因为文章会将项目的每处代码的书写都会讲解到,所以本项目会分成好几篇文章进行讲解,我会在最后一篇文章中会将项目代码开源到我的github上,大家可以自行去进行下载运行,希望本文章对有帮助的朋友们能多多关注本专栏,学习更多…

shiro漏洞利用记录

shiro漏洞利用记录 获取heapdump 访问http://39.100.119.172:8082/actuator/heapdump​下载heapdump nginx waf可能限制下载heapdump,但里面的配置可能是精确匹配,因此可以使用http://39.100.119.172:8082/actuator/heapdump//​来绕过 获取shrio ke…

Webpack: 构建 NPM Library

概述 虽然 Webpack 多数情况下被用于构建 Web 应用,但与 Rollup、Snowpack 等工具类似,Webpack 同样具有完备的构建 NPM 库的能力。与一般场景相比,构建 NPM 库时需要注意: 正确导出模块内容;不要将第三方包打包进产…

IDM(Internet Download Manager)下载器的安装激活与换机方法 IDM怎么用

很多人都知道 Internet Download Manager(以下简称 IDM)是一款非常优秀的下载提速软件。它功能强大,几乎能下载网页中的所有数据(包括视频、音频、图片等),且适用于现在市面上几乎所有的浏览器,非常受大家欢迎。IDM 是…

河南企业劳务资质申请:技术负责人角色与职责

河南企业劳务资质申请中,技术负责人的角色与职责至关重要,以下是对其角色与职责的清晰归纳: 一、角色定位 技术核心:技术负责人是企业技术团队的核心,是企业技术实力和专业水平的象征。战略规划者:根据行…

subline设置打开文件重启一个新的窗口

问题 打开文件后,用的是同一个窗口的子tab页面 想要打开一个新的窗口 解决 点解preferences->setting 在右边的配置文件新增一行 “open_files_in_new_window”: “always” 保存 搞定!

LeetCode 1667, 36, 199

目录 1667. 修复表中的名字题目链接表要求知识点思路代码 36. 有效的数独题目链接标签思路代码 199. 二叉树的右视图题目链接标签思路代码 1667. 修复表中的名字 题目链接 1667. 修复表中的名字 表 表Users的字段为user_id和name。 要求 编写解决方案,修复名字…

SET加密:电子商务安全的基石

随着电子商务的飞速发展,如何确保在线交易的安全性和可信度已成为消费者、商家和金融机构共同关注的焦点。SET协议(Secure Electronic Transaction)作为一种安全电子交易的国际标准,凭借其卓越的安全性能和广泛的行业认可&#xf…

食品行业怎么用JSON群发短信

食品作为日常生活不可缺少的元素,市场需求是很稳定的,但是份额就那么多,商家都要来抢占的话,就需要运营推广各凭本事,市场运营中选择合适的推广方式,可以增加店铺销售额,很多实体店或商城都会建…

MATLAB-振动问题:两自由度耦合系统自由振动

一、基本理论 二、MATLAB实现 以下是两自由度耦合系统自由振动质量块振动过程动画显示的MATLAB程序。 clear; clc; close allx0 1; D1 40; D12 8; D2 D1; m1 1; omega0 sqrt(D1/m1); k1 D12 / D1; k2 D12 / D2; k sqrt(k1 * k2); omegazh omega0 * sqrt(1 k); omeg…

pytest中的极其重要固件(request)的理解

pytest 是一个非常流行的Python测试框架,它为开发人员提供了丰寴的测试工具和功能。 在pytest中,固件(fixture)是一种非常核心的概念,用于设置测试前的预条件,清理测试后的环境,或者提供测试过…

高效实现虚拟机(VMware)安装教程(附安装包)

目录 一.下载VMware Wworkstation Pro 二 安装: 注:若是安装完VMware,还想在上面安装Centos、Ubuntu,系统请转到基于VMware的linux操作系统安装(附安装包)-CSDN博客 一.下载VMware Wworkstation Pro 渠道…

文心一言用户达3亿!文心大模型4.0 Turbo发布,支持API,真GPT-4 Turbo国产来了!

文心一言用户规模达到3亿了! 这是笔者在今天的百度Wave Summit 2024大会上的看到的数字。需要强调的是,文心一言的用户规模是在去年12月破亿的。这意味着,仅仅隔了6个月,文心一言用户数量在亿这个级别的数字上竟然直接翻了三倍。…

【C++】线程库

在 C11 问世之前,多线程基本和平台关系密切,不同的平台下多线程各有特点,使得 Windows 和 Linux 下必须拥有各自的系统调用接口,但同时也使得代码的可移植性较差。 C11中最重要的特性,就是支持了多线程编程&#xff0c…

【高性能服务器】服务器概述

🔥博客主页: 我要成为C领域大神🎥系列专栏:【C核心编程】 【计算机网络】 【Linux编程】 【操作系统】 ❤️感谢大家点赞👍收藏⭐评论✍️ 本博客致力于知识分享,与更多的人进行学习交流 ​ 服务器概述 服…

计算机网络 —— 基本概念

基本概念 1. 通信协议2. 面向连接 v.s. 面向无连接3. 电路交换 v.s. 分组交换4. 单工通信 v.s. 双工通信 1. 通信协议 通信协议就是计算机与计算机之间通过网络实现通信时事先达成的一种“约定”。这种“约定”使那些由不同厂商的设备、不同的CPU 以及不同的操作系统组成的计算…

C# 实现websocket双向通信

🎈个人主页:靓仔很忙i 💻B 站主页:👉B站👈 🎉欢迎 👍点赞✍评论⭐收藏 🤗收录专栏:C# 🤝希望本文对您有所裨益,如有不足之处&#xff…

人工智能在多模态多组学领域的最新研究进展|顶刊速递·24-06-29

小罗碎碎念 本期推文主题:人工智能在多模态与多组学中的最新研究进展 今天这期推文比较特殊,起来就开始干活,只能跑来会场写了。 小罗观点 今天这期推文覆盖面挺广的,前四篇与肿瘤治疗相关,并且两篇都直接与免疫微环境…

Websocket解析及用法(封装一个通用订阅发布主题的webSocket类)

1、什么是WebSocket? websocket的目标是通过一个长连接实现与服务器全双工,双向的通信。是一种在单个TCP连接上进行全双工通信的协议,使得客户端和服务器之间的数据交换变得更加简单,允许服务端主动向客户端推送数据。在 js中创建websocket…

统计信号处理基础 习题解答11-1

题目 观测到的数据具有PDF 在μ给定的条件下,是相互独立的。均值具有先验PDF: 求μ的 MMSE 和 MAP 估计量。另外,当和时将发生什么情况? 解答 和两者都是独立高斯分布,与例题10.1一致,直接套用(10.11&am…