amis-formula 1.2.4 → 1.2.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/doc.md CHANGED
@@ -59,15 +59,13 @@
59
59
 
60
60
  异或处理,两个表达式同时为「真」,或者同时为「假」,则结果返回为「真」
61
61
 
62
- ## 其他
63
-
64
62
  ### IFS
65
63
 
66
64
  用法:`IFS(condition1, result1, condition2, result2,...conditionN, resultN)`
67
65
 
68
66
  * `args:...any` 条件,返回值集合
69
67
 
70
- 返回:`any` 返回第一个满足条件的结果,没有命中的返回 false。
68
+ 返回:`any` 第一个满足条件的结果,没有命中的返回 false。
71
69
 
72
70
  判断函数集合,相当于多个 else if 合并成一个。
73
71
 
@@ -75,16 +73,6 @@
75
73
 
76
74
  如果语文成绩大于 80,则返回优秀,否则判断大于 60 分,则返回良,否则返回继续努力。
77
75
 
78
- ### COUNT
79
-
80
- 用法:`COUNT(arr)`
81
-
82
- * `arr:Array<any>` 数组
83
-
84
- 返回:`boolean` 返回结果
85
-
86
- 返回数组的长度
87
-
88
76
  ## 数学函数
89
77
 
90
78
  ### ABS
@@ -93,7 +81,7 @@
93
81
 
94
82
  * `num:number` 数值
95
83
 
96
- 返回:`number` 返回传入数值的绝对值
84
+ 返回:`number` 传入数值的绝对值
97
85
 
98
86
  返回传入数字的绝对值
99
87
 
@@ -103,7 +91,7 @@
103
91
 
104
92
  * `num:...number` 数值
105
93
 
106
- 返回:`number` 返回所有传入值中最大的那个
94
+ 返回:`number` 所有传入值中最大的那个
107
95
 
108
96
  获取最大值
109
97
 
@@ -113,7 +101,7 @@
113
101
 
114
102
  * `num:...number` 数值
115
103
 
116
- 返回:`number` 返回所有传入值中最小的那个
104
+ 返回:`number` 所有传入值中最小的那个
117
105
 
118
106
  获取最小值
119
107
 
@@ -123,7 +111,7 @@
123
111
 
124
112
  * `num:...number` 数值
125
113
 
126
- 返回:`number` 返回所有传入数值的总和
114
+ 返回:`number` 所有传入数值的总和
127
115
 
128
116
  求和
129
117
 
@@ -133,7 +121,7 @@
133
121
 
134
122
  * `num:number` 数值
135
123
 
136
- 返回:`number` 返回数值对应的整形
124
+ 返回:`number` 数值对应的整形
137
125
 
138
126
  将数值向下取整为最接近的整数
139
127
 
@@ -144,7 +132,7 @@
144
132
  * `num:number` 被除数
145
133
  * `divisor:number` 除数
146
134
 
147
- 返回:`number` 返回两数相除的余数
135
+ 返回:`number` 两数相除的余数
148
136
 
149
137
  返回两数相除的余数,参数 number 是被除数,divisor 是除数
150
138
 
@@ -161,7 +149,7 @@
161
149
  * `num:number` 要处理的数字
162
150
  * `numDigits:number` 小数位数
163
151
 
164
- 返回:`number` 返回传入数值四舍五入后的结果
152
+ 返回:`number` 传入数值四舍五入后的结果
165
153
 
166
154
  将数字四舍五入到指定的位数,可以设置小数位。
167
155
 
@@ -172,7 +160,7 @@
172
160
  * `num:number` 要处理的数字
173
161
  * `numDigits:number` 小数位数
174
162
 
175
- 返回:`number` 返回传入数值向下取整后的结果
163
+ 返回:`number` 传入数值向下取整后的结果
176
164
 
177
165
  将数字向下取整到指定的位数,可以设置小数位。
178
166
 
@@ -183,7 +171,7 @@
183
171
  * `num:number` 要处理的数字
184
172
  * `numDigits:number` 小数位数
185
173
 
186
- 返回:`number` 返回传入数值向上取整后的结果
174
+ 返回:`number` 传入数值向上取整后的结果
187
175
 
188
176
  将数字向上取整到指定的位数,可以设置小数位。
189
177
 
@@ -193,7 +181,7 @@
193
181
 
194
182
  * `num:number` 要处理的数字
195
183
 
196
- 返回:`number` 返回开平方的结果
184
+ 返回:`number` 开平方的结果
197
185
 
198
186
  开平方,参数 number 为非负数
199
187
 
@@ -203,17 +191,58 @@
203
191
 
204
192
  * `num:...number` 要处理的数字
205
193
 
206
- 返回:`number` 返回所有数值的平均值
194
+ 返回:`number` 所有数值的平均值
207
195
 
208
196
  返回所有参数的平均值
209
197
 
198
+ ### DEVSQ
199
+
200
+ 用法:`DEVSQ(num1, num2, ...numN)`
201
+
202
+ * `num:...number` 要处理的数字
203
+
204
+ 返回:`number` 所有数值的平均值
205
+
206
+ 返回数据点与数据均值点之差(数据偏差)的平方和
207
+
208
+ ### AVEDEV
209
+
210
+ 用法:`AVEDEV(num1, num2, ...numN)`
211
+
212
+ * `num:...number` 要处理的数字
213
+
214
+ 返回:`number` 所有数值的平均值
215
+
216
+ 数据点到其算术平均值的绝对偏差的平均值
217
+
218
+ ### HARMEAN
219
+
220
+ 用法:`HARMEAN(num1, num2, ...numN)`
221
+
222
+ * `num:...number` 要处理的数字
223
+
224
+ 返回:`number` 所有数值的平均值
225
+
226
+ 数据点的调和平均值
227
+
228
+ ### LARGE
229
+
230
+ 用法:`LARGE(array, k)`
231
+
232
+ * `nums:array` 要处理的数字
233
+ * `k:number` 第几大
234
+
235
+ 返回:`number` 所有数值的平均值
236
+
237
+ 数据集中第 k 个最大值
238
+
210
239
  ### UPPERMONEY
211
240
 
212
241
  用法:`UPPERMONEY(num)`
213
242
 
214
243
  * `num:number` 要处理的数字
215
244
 
216
- 返回:`string` 返回数值中文大写字符
245
+ 返回:`string` 数值中文大写字符
217
246
 
218
247
  将数值转为中文大写金额
219
248
 
@@ -267,7 +296,7 @@
267
296
 
268
297
  * `textArr:Array<string>` 要处理的文本集合
269
298
 
270
- 返回:`Array<number>` 返回长度集合
299
+ 返回:`Array<number>` 长度集合
271
300
 
272
301
  计算文本集合中所有文本的长度
273
302
 
@@ -277,7 +306,7 @@
277
306
 
278
307
  * `text:string` 要处理的文本
279
308
 
280
- 返回:`boolean` 返回判断结果
309
+ 返回:`boolean` 判断结果
281
310
 
282
311
  判断文本是否为空
283
312
 
@@ -287,7 +316,7 @@
287
316
 
288
317
  * `text:...string` 文本集合
289
318
 
290
- 返回:`string` 返回连接后的文本
319
+ 返回:`string` 连接后的文本
291
320
 
292
321
  将多个传入值连接成文本
293
322
 
@@ -297,7 +326,7 @@
297
326
 
298
327
  * `code:number` 编码值
299
328
 
300
- 返回:`string` 返回指定位置的字符
329
+ 返回:`string` 指定位置的字符
301
330
 
302
331
  返回计算机字符集的数字代码所对应的字符。
303
332
 
@@ -309,7 +338,7 @@
309
338
 
310
339
  * `text:string` 文本
311
340
 
312
- 返回:`string` 返回结果文本
341
+ 返回:`string` 结果文本
313
342
 
314
343
  将传入文本转成小写
315
344
 
@@ -319,10 +348,90 @@
319
348
 
320
349
  * `text:string` 文本
321
350
 
322
- 返回:`string` 返回结果文本
351
+ 返回:`string` 结果文本
323
352
 
324
353
  将传入文本转成大写
325
354
 
355
+ ### UPPERFIRST
356
+
357
+ 用法:`UPPERFIRST(text)`
358
+
359
+ * `text:string` 文本
360
+
361
+ 返回:`string` 结果文本
362
+
363
+ 将传入文本首字母转成大写
364
+
365
+ ### PADSTART
366
+
367
+ 用法:`PADSTART(text)`
368
+
369
+ * `text:string` 文本
370
+ * `num:number` 目标长度
371
+ * `pad:string` 用于补齐的文本
372
+
373
+ 返回:`string` 结果文本
374
+
375
+ 向前补齐文本长度
376
+
377
+ 示例 `PADSTART("6", 2, "0")`
378
+
379
+ 返回 `06`
380
+
381
+ ### CAPITALIZE
382
+
383
+ 用法:`CAPITALIZE(text)`
384
+
385
+ * `text:string` 文本
386
+
387
+ 返回:`string` 结果文本
388
+
389
+ 将文本转成标题
390
+
391
+ 示例 `CAPITALIZE("star")`
392
+
393
+ 返回 `Star`
394
+
395
+ ### ESCAPE
396
+
397
+ 用法:`ESCAPE(text)`
398
+
399
+ * `text:string` 文本
400
+
401
+ 返回:`string` 结果文本
402
+
403
+ 对文本进行 HTML 转义
404
+
405
+ 示例 `ESCAPE("star")`
406
+
407
+ 返回 `Star`
408
+
409
+ ### TRUNCATE
410
+
411
+ 用法:`TRUNCATE(text, 6)`
412
+
413
+ * `text:string` 文本
414
+ * `text:number` 最长长度
415
+
416
+ 返回:`string` 结果文本
417
+
418
+ 对文本长度进行截断
419
+
420
+ 示例 `TRUNCATE("amis.baidu.com", 6)`
421
+
422
+ 返回 `amis...`
423
+
424
+ ### BEFORELAST
425
+
426
+ 用法:`BEFORELAST(text, '.')`
427
+
428
+ * `text:string` 文本
429
+ * `delimiter:string` 结束文本
430
+
431
+ 返回:`string` 判断结果
432
+
433
+ 取在某个分隔符之前的所有字符串
434
+
326
435
  ### SPLIT
327
436
 
328
437
  用法:`SPLIT(text, ',')`
@@ -330,7 +439,7 @@
330
439
  * `text:string` 文本
331
440
  * `delimiter:string` 文本片段
332
441
 
333
- 返回:`Array<string>` 返回文本集
442
+ 返回:`Array<string>` 文本集
334
443
 
335
444
  将文本根据指定片段分割成数组
336
445
 
@@ -344,10 +453,38 @@
344
453
 
345
454
  * `text:string` 文本
346
455
 
347
- 返回:`string` 返回处理后的文本
456
+ 返回:`string` 处理后的文本
348
457
 
349
458
  将文本去除前后空格
350
459
 
460
+ ### STRIPTAG
461
+
462
+ 用法:`STRIPTAG(text)`
463
+
464
+ * `text:string` 文本
465
+
466
+ 返回:`string` 处理后的文本
467
+
468
+ 去除文本中的 HTML 标签
469
+
470
+ 示例:`STRIPTAG("<b>amis</b>")`
471
+
472
+ 返回:`amis`
473
+
474
+ ### LINEBREAK
475
+
476
+ 用法:`LINEBREAK(text)`
477
+
478
+ * `text:string` 文本
479
+
480
+ 返回:`string` 处理后的文本
481
+
482
+ 将字符串中的换行转成 HTML `<br>`,用于简单换行的场景
483
+
484
+ 示例:`LINEBREAK("\n")`
485
+
486
+ 返回:`<br/>`
487
+
351
488
  ### STARTSWITH
352
489
 
353
490
  用法:`STARTSWITH(text, '片段')`
@@ -355,10 +492,21 @@
355
492
  * `text:string` 文本
356
493
  * `startString:string` 起始文本
357
494
 
358
- 返回:`string` 返回判断结果
495
+ 返回:`string` 判断结果
359
496
 
360
497
  判断字符串(text)是否以特定字符串(startString)开始,是则返回 True,否则返回 False
361
498
 
499
+ ### ENDSWITH
500
+
501
+ 用法:`ENDSWITH(text, '片段')`
502
+
503
+ * `text:string` 文本
504
+ * `endString:string` 结束文本
505
+
506
+ 返回:`string` 判断结果
507
+
508
+ 判断字符串(text)是否以特定字符串(endString)结束,是则返回 True,否则返回 False
509
+
362
510
  ### CONTAINS
363
511
 
364
512
  用法:`CONTAINS(text, searchText)`
@@ -366,7 +514,7 @@
366
514
  * `text:string` 文本
367
515
  * `searchText:string` 搜索文本
368
516
 
369
- 返回:`string` 返回判断结果
517
+ 返回:`string` 判断结果
370
518
 
371
519
  判断参数 1 中的文本是否包含参数 2 中的文本。
372
520
 
@@ -378,7 +526,7 @@
378
526
  * `search:string` 要被替换的文本
379
527
  * `replace:string` 要替换的文本
380
528
 
381
- 返回:`string` 返回处理结果
529
+ 返回:`string` 处理结果
382
530
 
383
531
  对文本进行全量替换。
384
532
 
@@ -390,7 +538,7 @@
390
538
  * `search:string` 用来搜索的文本
391
539
  * `start:number` 起始位置
392
540
 
393
- 返回:`number` 返回命中的位置
541
+ 返回:`number` 命中的位置
394
542
 
395
543
  对文本进行搜索,返回命中的位置
396
544
 
@@ -402,7 +550,7 @@
402
550
  * `from:number` 起始位置
403
551
  * `len:number` 处理长度
404
552
 
405
- 返回:`number` 返回命中的位置
553
+ 返回:`number` 命中的位置
406
554
 
407
555
  返回文本字符串中从指定位置开始的特定数目的字符
408
556
 
@@ -424,7 +572,7 @@
424
572
  * `date:date` 日期对象
425
573
  * `format:string` 时间戳格式,带毫秒传入 'x'。默认为 'X' 不带毫秒的。
426
574
 
427
- 返回:`number` 返回时间戳
575
+ 返回:`number` 时间戳
428
576
 
429
577
  返回时间的时间戳
430
578
 
@@ -447,7 +595,7 @@
447
595
  * `date:date` 日期对象
448
596
  * `format:string` 日期格式,默认为 "YYYY-MM-DD HH:mm:ss"
449
597
 
450
- 返回:`number` 返回日期字符串
598
+ 返回:`number` 日期字符串
451
599
 
452
600
  将日期转成日期字符串
453
601
 
@@ -479,7 +627,7 @@
479
627
 
480
628
  * `date:date` 日期对象
481
629
 
482
- 返回:`number` 返回数值
630
+ 返回:`number` 数值
483
631
 
484
632
  返回日期的年份
485
633
 
@@ -489,7 +637,7 @@
489
637
 
490
638
  * `date:date` 日期对象
491
639
 
492
- 返回:`number` 返回数值
640
+ 返回:`number` 数值
493
641
 
494
642
  返回日期的月份,这里就是自然月份。
495
643
 
@@ -499,7 +647,7 @@
499
647
 
500
648
  * `date:date` 日期对象
501
649
 
502
- 返回:`number` 返回数值
650
+ 返回:`number` 数值
503
651
 
504
652
  返回日期的天
505
653
 
@@ -509,7 +657,7 @@
509
657
 
510
658
  * `date:date` 日期对象
511
659
 
512
- 返回:`number` 返回数值
660
+ 返回:`number` 数值
513
661
 
514
662
  返回日期的小时
515
663
 
@@ -519,7 +667,7 @@
519
667
 
520
668
  * `date:date` 日期对象
521
669
 
522
- 返回:`number` 返回数值
670
+ 返回:`number` 数值
523
671
 
524
672
  返回日期的分
525
673
 
@@ -529,7 +677,7 @@
529
677
 
530
678
  * `date:date` 日期对象
531
679
 
532
- 返回:`number` 返回数值
680
+ 返回:`number` 数值
533
681
 
534
682
  返回日期的秒
535
683
 
@@ -540,7 +688,7 @@
540
688
  * `endDate:date` 日期对象
541
689
  * `startDate:date` 日期对象
542
690
 
543
- 返回:`number` 返回数值
691
+ 返回:`number` 数值
544
692
 
545
693
  返回两个日期相差多少年
546
694
 
@@ -551,7 +699,7 @@
551
699
  * `endDate:date` 日期对象
552
700
  * `startDate:date` 日期对象
553
701
 
554
- 返回:`number` 返回数值
702
+ 返回:`number` 数值
555
703
 
556
704
  返回两个日期相差多少分钟
557
705
 
@@ -562,7 +710,7 @@
562
710
  * `endDate:date` 日期对象
563
711
  * `startDate:date` 日期对象
564
712
 
565
- 返回:`number` 返回数值
713
+ 返回:`number` 数值
566
714
 
567
715
  返回两个日期相差多少天
568
716
 
@@ -573,7 +721,7 @@
573
721
  * `endDate:date` 日期对象
574
722
  * `startDate:date` 日期对象
575
723
 
576
- 返回:`number` 返回数值
724
+ 返回:`number` 数值
577
725
 
578
726
  返回两个日期相差多少小时
579
727
 
@@ -585,7 +733,7 @@
585
733
  * `num:number` 数值
586
734
  * `unit:string` 单位:支持年、月、天等等
587
735
 
588
- 返回:`date` 返回日期对象
736
+ 返回:`date` 日期对象
589
737
 
590
738
  修改日期,对日期进行加减天、月份、年等操作
591
739
 
@@ -602,7 +750,7 @@ DATEMODIFY(A, -2, 'month')
602
750
  * `value:string` 日期字符
603
751
  * `format:string` 日期格式
604
752
 
605
- 返回:`date` 返回日期对象
753
+ 返回:`date` 日期对象
606
754
 
607
755
  将字符日期转成日期对象,可以指定日期格式。
608
756
 
@@ -616,7 +764,7 @@ DATEMODIFY(A, -2, 'month')
616
764
  * `b:date` 第二个日期
617
765
  * `unit:string` 单位,默认是 'day', 即之比较到天
618
766
 
619
- 返回:`boolean` } 返回判断结果
767
+ 返回:`boolean` 判断结果
620
768
 
621
769
  判断两个日期,是否第一个日期在第二个日期的前面
622
770
 
@@ -628,7 +776,7 @@ DATEMODIFY(A, -2, 'month')
628
776
  * `b:date` 第二个日期
629
777
  * `unit:string` 单位,默认是 'day', 即之比较到天
630
778
 
631
- 返回:`boolean` } 返回判断结果
779
+ 返回:`boolean` 判断结果
632
780
 
633
781
  判断两个日期,是否第一个日期在第二个日期的后面
634
782
 
@@ -640,7 +788,7 @@ DATEMODIFY(A, -2, 'month')
640
788
  * `b:date` 第二个日期
641
789
  * `unit:string` 单位,默认是 'day', 即之比较到天
642
790
 
643
- 返回:`boolean` } 返回判断结果
791
+ 返回:`boolean` 判断结果
644
792
 
645
793
  判断两个日期,是否第一个日期在第二个日期的前面或者相等
646
794
 
@@ -652,7 +800,19 @@ DATEMODIFY(A, -2, 'month')
652
800
  * `b:date` 第二个日期
653
801
  * `unit:string` 单位,默认是 'day', 即之比较到天
654
802
 
655
- 返回:`boolean` } 返回判断结果
803
+ 返回:`boolean` 判断结果
656
804
 
657
805
  判断两个日期,是否第一个日期在第二个日期的后面或者相等
658
806
 
807
+ ## 其他
808
+
809
+ ### COUNT
810
+
811
+ 用法:`COUNT(arr)`
812
+
813
+ * `arr:Array<any>` 数组
814
+
815
+ 返回:`boolean` 结果
816
+
817
+ 返回数组的长度
818
+