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

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

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

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

图片

图片

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

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

图片

图片

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

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

图片

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

图片

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

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

列表其他函数式编程用法

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

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

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

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

相关文章

人工智能 (AI) 进阶【C#】版

使用C#和ML.NET进行图像分类任务。这个示例将展示如何加载图像数据、构建和训练模型,以及进行预测。 进阶版:图像分类 我们将使用ML.NET和预训练的TensorFlow模型进行图像分类。首先,确保你已经安装了以下NuGet包: dotnet add …

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…

Vue3使用Vue Router4實現頁面切換

前言 Vue Router 是 Vue 官方的客户端路由解决方案。 客户端路由的作用是在单页应用 (SPA) 中将浏览器的 URL 和用户看到的内容绑定起来。当用户在应用中浏览不同页面时,URL 会随之更新,但页面不需要从服务器重新加载。 下面我將開始介紹vue router的…

RuoYi-Vue3不启动后端服务如何登陆?

RuoYi-Vue3不启动后端服务如何登陆?RuoYi-Vue3使用的前端技术栈 是:Vue3 + Element Plus + Vite。 github开源地址:https://github.com/yangzongzhuan/RuoYi-Vue3 前后的分离在线演示项目地址:https://vue.ruoyi.vip/ 这种方式是用若依提供的在线后端接口,可以在此基础上修…

数据格式转换 | 稀疏矩阵3列还原为原始矩阵/数据框,自定义函数 df3toMatrix()

1. 输入3列 只要前三列,第一列是行名,第二列是列名,第三列为值。 > head(df.net2.order)from to strength type 12439 CSTF2 ENST0000056844 -0.6859788 neg 12015 CSTF2 ENST0000056190 -0.5153181 neg 11208 CSTF2 …

三阶魔方公式详解及快速解法方法介绍

三阶魔方公式详解及快速解法方法介绍 大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们来深入探讨三阶魔方的公式及其快速解法方法。无论是初学者还是已经…

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” 保存 搞定!

uniapp小程序打开地图导航

uniapp uni.getLocation({type: gcj02, //返回可以用于uni.openLocation的经纬度success: function (res) {const latitude res.latitude;const longitude res.longitude;uni.openLocation({latitude: latitude,longitude: longitude,success: function () {console.log(suc…

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…