恒美微站 Logo 恒美微站
  • 首页
  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心
  • 联系我们

amis-formula 内置函数完全手册:amis 低代码表达式引擎的公式函数库详解

  • 首页
  • 资讯中心
  • /
  • amis-formula 内置函数完全手册:amis 低代码表达式引擎的公式函数库详解

相关资讯

程序员副业指南:从技术变现到独立开发与避坑实战 2026/9/14 8:23:25
yuzu Switch模拟器:免费零门槛,十分钟跑通你的第一盘游戏 2026/9/14 8:23:25
3 分钟跑通 Grist 关系型电子表格:Docker 部署与上手完整指南 2026/9/14 8:18:25

最新资讯

Android租房信息发布平台开发实践与打包全攻略
把 Cursor 调教成懂你思路的结对程序员:上下文、规则与提问实战
腾讯漫画榜单爬虫到聚类推荐:Python数据分析全流程实战
Android仿QQ聊天课设:Room数据库与WebSocket消息机制
从ER模型到SQL实现:图书馆管理系统数据库设计实战指南
PyTorch实现五大经典CNN:从LeNet到ResNet的复现与实验对比

今日推荐

ASP+Access库存管理系统源码部署与IIS配置实战指南
基于SSM框架的毕业季旧物分类处理系统设计与实现
MATLAB FFT频谱仿真:从DFT原理到参数设置与窗函数选择

本周热门

AI SDK Harness 依赖更新指南:掌握 harness 包 SDK 依赖的升级、桥接同步与一致性校验
Refine v5 Ant Design NumberField 组件实战:基于 Intl 的本地化数字格式化
Flutter应用改名全指南:从Android到iOS的配置与工具实践

本月精选

自研推理加速器Redwood:两周内实现PyTorch模型高效部署的实战教程
V4L2摄像头采集实战:从camera_client.rar到出图全流程解析
从“谁发明了钢琴键”到知识问答智能体:RAG与记忆工程实践

amis-formula 内置函数完全手册:amis 低代码表达式引擎的公式函数库详解

发布时间:2026/9/14 8:23:25
amis-formula 内置函数完全手册:amis 低代码表达式引擎的公式函数库详解 amis-formula 内置函数完全手册amis 低代码表达式引擎的公式函数库详解【免费下载链接】amis前端低代码框架通过 JSON 配置就能生成各种页面。项目地址: https://gitcode.com/GitHub_Trending/am/amis导读amis 作为前端低代码框架通过 JSON 配置即可生成页面而动态页面离不开表达式与公式计算。本手册以packages/amis-formula/src/doc.md为骨架完整梳理 amis-formula 内置的全部函数——涵盖逻辑判断、数学运算、文本处理、日期计算、数组操作、编码转换与对象操作七大类共百余个函数并结合源码实现如 evalutor.ts、function.ts讲解注册机制与底层原理。读完本文你将能在 amis 的type: expression字段、模板字符串${...}中熟练使用这些函数也能为 amis-formula 自定义扩展新的公式。一、amis-formula 是什么表达式、公式与模板的落地实现amis-formula是 amis 仓库下的独立子包负责 amis 中表达式、公式及模板的实现见 README.md其package.json中描述为“负责 amis 里面的表达式实现内置公式编辑器等”。它提供两类核心能力表达式求值通过 evaluate 同步求值或 evaluateForAsync 异步求值公式函数体系内置逻辑、数学、文本、日期、数组、编码、对象等类别函数并支持通过registerFormula/registerFunction扩展。从源码结构看一条公式的求值链路为lexer 词法分析 → parser 语法分析生成 AST → Evaluator 逐节点求值。内置函数集中定义在 evalutor.ts 中均以fn函数名的方法形式挂载在Evaluator类上例如fnIFevalutor.ts、fnUPPERMONEYevalutor.ts、fnARRAYMAPevalutor.ts、fnGROUPBYevalutor.ts。1.1 函数手册的生成机制doc.md 并非手写本文所依据的 doc.md 由 scripts/genDoc.ts 自动生成该脚本读取evalutor.ts中紧邻fnXxx(函数定义之前的 JSDoc 块注释用doctrine解析出param、returns、example、namespace等标签批量注册进functionDocs并同步输出 Markdown 文档。因此doc.md与源码注释、doc.ts三方同源保证手册永不与实现脱节。构建时通过npm run genDoc重新生成见 package.json 的build脚本。1.2 函数的注册与扩展入口function.ts 提供了三种注册方式registerFunction(name, fn)仅注册求值函数内部通过Evaluator.extendDefaultFunctions({[fnname]: fn})挂载registerFunctionDoc(groupName, item)仅注册文档说明按分组namespace存放于functionDocsregisterFormula(name, fn, fnInfo?)一步完成“注册函数 注册文档”可同时传入FunctionDocItem描述参数与返回值。amis 主包在 packages/amis/src/index.tsx 中通过import {registerFilter, registerFormula} from amis-formula引入并注册自定义公式这说明该手册不仅是静态文档也是扩展 amis 内置公式能力的 API 参考。二、逻辑函数条件判断与多分支逻辑函数用于把“语文成绩80”这类比较表达式组合成完整的判断逻辑。IFIF(condition, consequent, alternate)参数类型说明conditionexpression条件表达式例如语文成绩80consequentany条件判断通过时返回的结果alternateany条件判断不通过时返回的结果返回any根据条件返回不同结果。满足 condition 则返回 consequent否则返回 alternate支持多层嵌套 IF 函数。等价于 JS 表达式condition ? consequent : alternate。对应实现见 evalutor.ts。ANDAND(expression1, expression2, ...expressionN)参数conditions: ...expression多个条件表达式用逗号隔开例如语文成绩80, 数学成绩80。返回boolean。所有条件都满足才返回true否则返回false。等价于语文成绩80 数学成绩80。OROR(expression1, expression2, ...expressionN)参数conditions: ...expression。返回boolean。任意一个条件满足即返回true否则返回false。等价于语文成绩80 || 数学成绩80。XORXOR(condition1, condition2, ...expressionN)参数condition: ...expression例如XOR(语文成绩 80, 数学成绩 80, 英语成绩 80)。返回boolean。异或处理多个表达式组中存在奇数个真时认为真。即三门成绩中有一门或三门大于 80 时返回true。IFSIFS(condition1, result1, condition2, result2,...conditionN, resultN)condition: ...expression条件表达式result: ...any返回值。返回any返回第一个满足条件对应的结果没有命中的返回false。相当于把多个else if合并成一个函数。示例IFS(语文成绩 80, 优秀, 语文成绩 60, 良, 继续努力)语文成绩大于 80 返回“优秀”否则继续判断是否大于 60是则返回“良”都不满足返回“继续努力”。注意“继续努力”作为最后一个无条件的结果参数充当兜底值。三、数学函数数值计算与统计数学函数覆盖绝对值、最值、求和、取整、取余、随机数、幂运算以及一系列统计指标多个函数都支持“只传一个数组参数”的写法。基础运算函数用法参数说明返回说明ABSABS(num)num:number 数值number返回绝对值INTINT(num)num:number 数值number向下取整为最接近的整数MODMOD(num, divisor)num 被除数divisor 除数number返回两数相除的余数PIPI()无number圆周率 3.1415…ROUNDROUND(num[, numDigits 2])num 数字numDigits 小数位数默认 2number四舍五入到指定小数位FLOORFLOOR(num[, numDigits2])num 数字numDigits 小数位数默认 2number向下取整到指定小数位CEILCEIL(num[, numDigits2])num 数字numDigits 小数位数默认 2number向上取整到指定小数位SQRTSQRT(num)num 非负数number开平方POWPOW(base, exponent)base 基数exponent 指数number返回基数的指数次幂参数不合法则返回基数本身计算结果不合法则返回 NaNRANDRAND()无number返回[0, 1)均匀分布的随机实数每一次触发计算都会变化RAND()*100可得到 0–100 之间的随机数最值与求和函数用法说明MAXMAX(num1, num2, ...numN)或MAX([num1, num2, ...numN])所有传入值中的最大值只有一个参数且为数组时计算数组内的值MINMIN(num1, num2, ...numN)或MIN([num1, num2, ...numN])所有传入值中的最小值数组规则同上SUMSUM(num1, num2, ...numN)或SUM([num1, num2, ...numN])所有传入数值的总和数组规则同上统计指标函数用法说明AVGAVG(num1, num2, ...numN)或AVG([...])所有参数的平均值支持单数组参数DEVSQDEVSQ(num1, num2, ...numN)数据点与数据均值之差的平方和偏差平方和支持单数组参数AVEDEVAVEDEV(num1, num2, ...numN)数据点到其算术平均值的绝对偏差的平均值HARMEANHARMEAN(num1, num2, ...numN)数据点的调和平均值支持单数组参数LARGELARGE(array, k)数据集中第 k 个最大值特殊数值函数函数用法说明UPPERMONEYUPPERMONEY(num)将数值转为中文大写金额返回string。其实现见 evalutor.ts内部对超出 14 位兆的数额会返回“最大数额只支持到兆”提示负值以“欠”开头小数部分转换为“角/分”LASTLAST(array)取数组最后一个值返回any四、文本函数字符串的截取、转换与判断文本函数是日常表单、列表展示中最常用的一类包含截取、大小写、填充、HTML 处理、搜索替换、路径与唯一标识等能力。截取与长度函数用法说明LEFTLEFT(text, len)返回文本左侧指定长度的字符串RIGHTRIGHT(text, len)返回文本右侧指定长度的字符串LENLEN(text)计算文本长度返回numberLENGTHLENGTH(textArr)计算文本集合Arraystring中所有文本的长度返回ArraynumberTRUNCATETRUNCATE(text, 6)对文本长度进行截断第二个参数为最长长度。示例TRUNCATE(amis.baidu.com, 6)返回amis...超出部分以省略号代替MIDMID(text, from, len)返回从指定位置from开始的特定数目的字符。示例MID(amis.baidu.com, 6, 3)返回aid大小写与填充函数用法说明LOWERLOWER(text)将传入文本转成小写UPPERUPPER(text)将传入文本转成大写UPPERFIRSTUPPERFIRST(text)将传入文本首字母转成大写内部基于 lodash 的upperFirst见 evalutor.ts 顶部 importCAPITALIZECAPITALIZE(text)将文本转成标题单词首字母大写。示例CAPITALIZE(star)返回StarPADSTARTPADSTART(text)向前补齐文本长度。参数text 文本、num 目标长度、pad 用于补齐的文本。示例PADSTART(6, 2, 0)返回06连接、拆分与判断函数用法说明CONCATENATECONCATENATE(text1, text2, ...textN)将多个传入值连接成文本返回stringSPLITSPLIT(text, ,)根据指定片段将文本分割成数组。示例SPLIT(a,b,c, ,)返回[a, b, c]ISEMPTYISEMPTY(text)判断文本是否为空返回booleanSTARTSWITHSTARTSWITH(text, 片段)判断 text 是否以 startString 开始返回booleanENDSWITHENDSWITH(text, 片段)判断 text 是否以 endString 结束返回booleanCONTAINSCONTAINS(text, searchText)判断参数 1 文本是否包含参数 2 文本返回booleanHTML 与特殊字符处理函数用法说明ESCAPEESCAPE(text)对文本进行 HTML 转义。示例ESCAPE(star)返回lt;startgt;amp;STRIPTAGSTRIPTAG(text)去除文本中的 HTML 标签。示例STRIPTAG(bamis/b)返回amisLINEBREAKLINEBREAK(text)将字符串中的换行转成 HTMLbr用于简单换行场景。示例LINEBREAK(\n)返回br/CHARCHAR(code)返回计算机字符集数字代码对应的字符。示例CHAR(97)等价于a搜索、替换与路径函数用法说明REPLACEREPLACE(text, search, replace)对文本进行全量替换返回stringSEARCHSEARCH(text, search, 0)对文本进行搜索返回命中的位置number。参数依次为要处理的文本、用来搜索的文本、起始位置BEFORELASTBEFORELAST(text, .)取在某个分隔符之前的所有字符串。参数为 text 与 delimiter结束文本。示例可搭配扩展名提取场景BASENAMEBASENAME(text)返回路径中的文件名。示例输入/home/amis/a.json返回a.jsonUUIDUUID(8)生成 UUID 字符串。参数 length 为生成长度默认为 32 位文本类函数大多直接复用了 lodash 的实现padStart、capitalize、escape、truncate、upperFirst等均在 evalutor.ts 顶部 import行为与 lodash 保持一致。五、日期函数构造、格式化与区间判断日期函数统一使用 moment 处理evalutor.ts 引入moment支持字符串、时间戳与 Date 对象三种输入形态。日期构造与当前时间函数用法说明DATEDATE(2021-12-06 08:20:00)创建日期对象可通过特定格式字符串或数值构造。注意月份的数值从 0 开始即 12 月份应传入数值 11TODAYTODAY()返回今天的日期NOWNOW()返回现在的日期STRTODATESTRTODATE(value[, format])将字符日期转成日期对象可指定日期格式。示例STRTODATE(2021/12/6, YYYY/MM/DD)时间戳与格式化函数用法说明TIMESTAMPTIMESTAMP(date[, format X])返回时间戳。format 为时间戳格式带毫秒传入x默认X为不带毫秒DATETOSTRDATETOSTR(date, YYYY-MM-DD)对日期、日期字符串、时间戳进行格式化默认格式YYYY-MM-DD HH:mm:ssDATETOSTR的完整示例注意hh为 12 小时制格式DATETOSTR(12/25/2022, YYYY-MM-DD) // 2022.12.25 DATETOSTR(1676563200, YYYY.MM.DD) // 2023.02.17 DATETOSTR(1676563200000, YYYY.MM.DD hh:mm:ss) // 2023.02.17 12:00:00 DATETOSTR(DATE(2021-12-21), YYYY.MM.DD hh:mm:ss) // 2021.12.21 08:00:00星期与周函数用法说明WEEKDAYWEEKDAY(date)获取日期的星期几。type 参数默认为 11 表示 0 至 6 代表星期一到星期日2 表示 1 至 7 代表星期一到星期日。示例WEEKDAY(2023-02-27)得到 0WEEKDAY(2023-02-27, 2)得到 1WEEKWEEK(date)获取年份的第几周isISO 参数控制是否 ISO 星期。示例WEEK(2023-03-05)得到 9拆分日期范围DATERANGESPLIT(date, YYYY-MM-DD)参数类型说明datestring日期范围字符串keystring取值标识0 或start表示开始时间1 或end表示结束时间formatstring日期格式可选delimiterstring分隔符可选默认为,返回string日期字符串。不传 key 时返回[start, end]数组。官方示例DATERANGESPLIT(1676563200, 1676735999) // [1676563200, 1676735999] DATERANGESPLIT(1676563200, 1676735999, undefined, YYYY.MM.DD hh:mm:ss) // [2023.02.17 12:00:00, 2023.02.18 11:59:59] DATERANGESPLIT(1676563200, 1676735999, 0, YYYY.MM.DD hh:mm:ss) // 2023.02.17 12:00:00 DATERANGESPLIT(1676563200, 1676735999, start, YYYY.MM.DD hh:mm:ss) // 2023.02.17 12:00:00 DATERANGESPLIT(1676563200, 1676735999, 1, YYYY.MM.DD hh:mm:ss) // 2023.02.18 11:59:59 DATERANGESPLIT(1676563200, 1676735999, end, YYYY.MM.DD hh:mm:ss) // 2023.02.18 11:59:59区间开端与末尾函数用法说明STARTOFSTARTOF(date[unit day])返回日期指定范围的开端。unit 可传day、month、year、week等传入 format 则返回格式化字符串ENDOFENDOF(date[unit day])返回日期指定范围的末尾unit 与 format 规则同上日期分量提取函数用法说明YEARYEAR(date)返回日期的年份MONTHMONTH(date)返回日期的自然月份DAYDAY(date)返回日期的天HOURHOUR(date)返回日期的小时MINUTEMINUTE(date)返回日期的分SECONDSECOND(date)返回日期的秒日期差值计算函数用法说明YEARSYEARS(endDate, startDate)返回两个日期相差多少年MINUTESMINUTES(endDate, startDate)返回两个日期相差多少分钟DAYSDAYS(endDate, startDate)返回两个日期相差多少天HOURSHOURS(endDate, startDate)返回两个日期相差多少小时日期修改与比较函数用法说明DATEMODIFYDATEMODIFY(date, 2, days)对日期进行加减年、月、天等操作unit 支持年、月、天等。示例DATEMODIFY(A, -2, month)将日期 A 往前减 2 个月ISBEFOREISBEFORE(a, b)判断 a 是否在 b 之前unit 默认day只比较到天ISAFTERISAFTER(a, b)判断 a 是否在 b 之后unit 默认dayISSAMEORBEFOREISSAMEORBEFORE(a, b)判断 a 是否在 b 之前或相等unit 默认dayISSAMEORAFTERISSAMEORAFTER(a, b)判断 a 是否在 b 之后或相等unit 默认dayBETWEENRANGEBETWEENRANGE(date, [start, end])判断日期是否在指定范围内。inclusivity 为包容性规则默认[][表示包含、(表示排除使用包容性参数时必须传入两个指示符如()表示左右范围都排除。示例BETWEENRANGE(2021/12/6, [2021/12/5,2021/12/7])六、数组函数映射、过滤与聚合数组函数需要搭配单表达式箭头函数使用注意箭头函数只支持单表达式用法、不支持多条语句这与 amis 表达式的整体语法约束一致见 表达式文档。映射与过滤函数用法说明COUNTCOUNT(arr)返回数组的长度ARRAYMAPARRAYMAP(arr, item item)将数组每个元素转换成箭头函数返回的值。示例ARRAYMAP([1, 2, 3], item item 1)得到[2, 3, 4]ARRAYFILTERARRAYFILTER(arr, item item)过滤掉箭头函数返回为false的成员。示例ARRAYFILTER([1, 2, 3], item item 1)得到[2, 3]ARRAYFINDINDEXARRAYFINDINDEX(arr, item item 2)找出箭头函数返回为true的成员的索引。示例ARRAYFINDINDEX([0, 2, false], item item 2)得到 1ARRAYFINDARRAYFIND(arr, item item 2)找出箭头函数返回为true的成员。示例ARRAYFIND([0, 2, false], item item 2)得到 2遍历判断函数用法说明ARRAYSOMEARRAYSOME(arr, item item 2)判断是否存在箭头函数返回true的成员。示例ARRAYSOME([0, 2, false], item item 2)得到trueARRAYEVERYARRAYEVERY(arr, item item 2)判断箭头函数返回值是否都为true。示例ARRAYEVERY([0, 2, false], item item 2)得到falseARRAYINCLUDESARRAYINCLUDES(arr, 2)判断数组中是否存在指定元素。示例ARRAYINCLUDES([0, 2, false], 2)得到true清理、连接与去重函数用法说明COMPACTCOMPACT(arr)过滤掉false、null、0和。示例COMPACT([0, 1, false, 2, , 3])得到[1, 2, 3]JOINJOIN(arr, string)数组转成字符串separator 为分隔符。示例JOIN([a, b, c], )得到abcCONCATCONCAT([a, b, c], [1], [3])数组合并。示例得到[a, b, c, 1, 3]UNIQUNIQ([{a: 1}, {b: 2}, {a: 1}], x)数组去重第二个参数 field 可指定根据该字段去重。示例UNIQ([{a: 1}, {b: 2}, {a: 1}])得到[{a: 1}, {b: 2}]底层复用 lodashuniqWith/uniqBy更新数组函数用法说明ARRAYUPDATEARRAYUPDATE(array, 0, {name: new})更新数组指定索引的元素与更新对象进行浅合并返回新数组。示例ARRAYUPDATE([{id: 1, name: alice}, {id: 2, name: bob}], 0, {name: alice2})得到[{id: 1, name: alice2}, {id: 2, name: bob}]ARRAYUPDATEBYARRAYUPDATEBY(array, item item.id 1, {status: done})根据条件函数更新数组元素匹配条件的元素与更新对象浅合并。示例ARRAYUPDATEBY([{id: 1, status: pending}, {id: 2, status: active}], item item.id 1, {status: done})得到[{id: 1, status: done}, {id: 2, status: active}]七、编码函数JSON 的序列化与反序列化函数用法说明ENCODEJSONENCODEJSON({name: amis})将 JS 对象转换成 JSON 字符串。示例ENCODEJSON({name: amis})得到{name:amis}DECODEJSONDECODEJSON({\name\: amis})解析 JSON 编码数据返回 JS 对象。示例DECODEJSON({\name\: amis})得到{name: amis}八、其他函数取值与类型判断GET按路径取对象值GET(arr, 2)参数类型说明objany对象或数组pathstring路径defaultValueany解析不到值为 undefined时返回该值支持点路径与下标路径两种写法GET([0, 2, {name: amis, age: 18}], 1) // 2 GET([0, 2, {name: amis, age: 18}], 2.name) // amis GET({arr: [{name: amis, age: 18}]}, arr[0].name) // amis GET({arr: [{name: amis, age: 18}]}, arr.0.name) // amis GET({arr: [{name: amis, age: 18}]}, arr.1.name, not-found) // not-foundISTYPE类型判断ISTYPE([{a: 1}, {b: 2}, {a: 1}], array)返回boolean。支持的类型有string、number、array、date、plain-object。九、对象操作函数键值转换与对象变换对象操作函数将对象视为一等数据支持取键值、筛选字段、合并、分组、索引等操作。键值枚举函数用法说明KEYSKEYS({name: alice, age: 18})获取对象所有属性名。示例得到[name, age]VALUESVALUES({name: alice, age: 18})获取对象所有属性值。示例得到[alice, 18]ENTRIESENTRIES({name: alice, age: 18})获取对象的键值对数组每个元素为[key, value]形式。示例得到[[name, alice], [age, 18]]HASKEYHASKEY({name: alice}, name)检查对象是否包含指定属性。HASKEY({name: alice}, name)得到trueHASKEY({name: alice}, age)得到false字段筛选与合并函数用法说明PICKPICK({name: alice, age: 18, email: ab.com}, name, age)从对象中选择指定属性返回新对象。示例得到{name: alice, age: 18}OMITOMIT({name: alice, age: 18, email: ab.com}, email)从对象中排除指定属性返回新对象。示例得到{name: alice, age: 18}MERGEMERGE({a: 1}, {b: 2}, {a: 3})合并多个对象后者的属性覆盖前者浅合并。示例得到{a: 3, b: 2}DEFAULTSDEFAULTS({a: 1}, {b: 2, a: 3})为对象设置默认值仅当属性不存在或为undefined时使用默认值null和其他假值会被保留。示例DEFAULTS({a: 1}, {b: 2, a: 3})得到{a: 1, b: 2}DEFAULTS({}, {status: pending, priority: normal})得到{status: pending, priority: normal}值转换与映射函数用法说明MAPVALUESMAPVALUES({a: 1, b: 2}, item item * 2)使用箭头函数转换对象的所有属性值需搭配箭头函数使用转换函数接收(value, key, obj)参数。示例MAPVALUES({a: 1, b: 2, c: 3}, item item * 2)得到{a: 2, b: 4, c: 6}INVERTINVERT({name: alice, age: eighteen})交换对象的键和值适用于反向查询的映射关系。示例得到{alice: name, eighteen: age}FROMTUPLEFROMTUPLE([[a, 1], [b, 2]])从键值对数组创建对象将二维数组转换为对象。示例得到{a: 1, b: 2}分组与索引函数用法说明GROUPBYGROUPBY([{type: a, val: 1}, {type: a, val: 2}, {type: b, val: 3}], type)根据指定属性或函数将数组元素分组成对象相同分组键的元素放在同一个数组中。示例得到{a: [{type: a, val: 1}, {type: a, val: 2}], b: [{type: b, val: 3}]}。实现见 evalutor.tsINDEXBYINDEXBY([{id: 1, name: alice}, {id: 2, name: bob}], id)将数组转换为对象索引使用指定属性或函数的返回值作为键每个键对应一个元素重复键后者覆盖前者。示例得到{1: {id: 1, name: alice}, 2: {id: 2, name: bob}}十、在 amis 中实际使用这些函数函数可在两类位置使用模板字符串${ AVG(1, 2, 3, 4) }、${ UPPERMONEY(1234.56) }表达式字段type: expression的字段例如visibleOn、disabledOn、value联动等。函数支持嵌套参数支持常量与变量例如MAX(语文成绩, 数学成绩, 英语成绩)或IF(SUM(成绩数组) 300, 达标, 未达标)。需要注意的是箭头函数作为参数时只支持单表达式例如ARRAYMAP(arr, item item 1)这是 amis-formula 的语法约束。如果你需要扩展自己的公式可参考 function.ts 中的registerFormula(name, fn, fnInfo)完成函数与文档的同步注册随后函数即可在本手册所覆盖的求值环境中被直接调用。十一、附录函数速查索引逻辑函数IF、AND、OR、XOR、IFS数学函数ABS、MAX、MIN、SUM、INT、MOD、PI、ROUND、FLOOR、CEIL、SQRT、AVG、DEVSQ、AVEDEV、HARMEAN、LARGE、UPPERMONEY、RAND、LAST、POW文本函数LEFT、RIGHT、LEN、LENGTH、ISEMPTY、CONCATENATE、CHAR、LOWER、UPPER、UPPERFIRST、PADSTART、CAPITALIZE、ESCAPE、TRUNCATE、BEFORELAST、SPLIT、TRIM、STRIPTAG、LINEBREAK、STARTSWITH、ENDSWITH、CONTAINS、REPLACE、SEARCH、MID、BASENAME、UUID日期函数DATE、TIMESTAMP、TODAY、NOW、WEEKDAY、WEEK、DATETOSTR、DATERANGESPLIT、STARTOF、ENDOF、YEAR、MONTH、DAY、HOUR、MINUTE、SECOND、YEARS、MINUTES、DAYS、HOURS、DATEMODIFY、STRTODATE、ISBEFORE、ISAFTER、BETWEENRANGE、ISSAMEORBEFORE、ISSAMEORAFTER数组函数COUNT、ARRAYMAP、ARRAYFILTER、ARRAYFINDINDEX、ARRAYFIND、ARRAYSOME、ARRAYEVERY、ARRAYINCLUDES、COMPACT、JOIN、CONCAT、UNIQ、ARRAYUPDATE、ARRAYUPDATEBY编码函数ENCODEJSON、DECODEJSON其他GET、ISTYPE对象操作KEYS、VALUES、ENTRIES、PICK、OMIT、MERGE、MAPVALUES、HASKEY、GROUPBY、INDEXBY、DEFAULTS、INVERT、FROMTUPLE本文所有函数签名与行为均以 doc.md 及其同源的 doc.ts、evalutor.ts 实现为准若需了解完整的表达式语法变量、运算、过滤器可继续阅读 表达式与公式文档。【免费下载链接】amis前端低代码框架通过 JSON 配置就能生成各种页面。项目地址: https://gitcode.com/GitHub_Trending/am/amis创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

关于恒美微站

恒美微站专注于为个体商户、工作室提供极简自助建站服务,让每个人都能轻松拥有专业网站。

快速链接

  • 关于我们
  • 建站服务
  • 主题模板
  • 案例展示
  • 资讯中心

服务项目

  • 可视化建站
  • 拖拽编辑
  • 主题定制
  • SEO 优化
  • 网站托管

联系方式

  • 📍 地址:北京市朝阳区建国路 88 号
  • 📞 电话:400-888-8888
  • ✉️ 邮箱:info@hmyw.cn
  • 🕐 时间:周一至周日 9:00-18:00

© 2024 恒美微站 hmyw.cn 版权所有 | 京 ICP 备 12345678 号