amis-formula 2.7.2 → 2.8.0

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/esm/doc.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * amis-formula v2.7.2
2
+ * amis-formula v2.8.0
3
3
  * Copyright 2021-2023 fex
4
4
  */
5
5
 
@@ -1020,15 +1020,59 @@ var doc = [
1020
1020
  },
1021
1021
  namespace: "日期函数"
1022
1022
  },
1023
+ {
1024
+ name: "WEEKDAY",
1025
+ description: "获取日期的星期几,\n\n示例:\n\nWEEKDAY('2023-02-27') 得到 1",
1026
+ example: "WEEKDAY(date)",
1027
+ params: [
1028
+ {
1029
+ type: "any",
1030
+ name: "date",
1031
+ description: "日期"
1032
+ },
1033
+ {
1034
+ type: "number",
1035
+ name: "type",
1036
+ description: "星期定义类型,默认为1,1表示0至6代表星期一到星期日,2表示1至7代表星期一到星期日"
1037
+ }
1038
+ ],
1039
+ returns: {
1040
+ type: "number",
1041
+ description: "星期几的数字标识"
1042
+ },
1043
+ namespace: "日期函数"
1044
+ },
1045
+ {
1046
+ name: "WEEK",
1047
+ description: "获取年份的星期,即第几周\n\n示例:\n\nWEEK('2023-03-05') 得到 10",
1048
+ example: "WEEK(date)",
1049
+ params: [
1050
+ {
1051
+ type: "any",
1052
+ name: "date",
1053
+ description: "日期"
1054
+ },
1055
+ {
1056
+ type: "boolean",
1057
+ name: "isISO",
1058
+ description: "是否ISO星期"
1059
+ }
1060
+ ],
1061
+ returns: {
1062
+ type: "number",
1063
+ description: "星期几的数字标识"
1064
+ },
1065
+ namespace: "日期函数"
1066
+ },
1023
1067
  {
1024
1068
  name: "DATETOSTR",
1025
- description: "将日期转成日期字符串",
1069
+ description: "对日期、日期字符串、时间戳进行格式化\n\n示例:\n\nDATETOSTR('12/25/2022', 'YYYY-MM-DD') 得到 '2022.12.25'\nDATETOSTR(1676563200, 'YYYY.MM.DD') 得到 '2023.02.17'\nDATETOSTR(1676563200000, 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.17 12:00:00'\nDATETOSTR(DATE('2021-12-21'), 'YYYY.MM.DD hh:mm:ss') 得到 '2021.12.21 08:00:00'",
1026
1070
  example: "DATETOSTR(date, 'YYYY-MM-DD')",
1027
1071
  params: [
1028
1072
  {
1029
- type: "date",
1073
+ type: "any",
1030
1074
  name: "date",
1031
- description: "日期对象"
1075
+ description: "日期对象、日期字符串、时间戳"
1032
1076
  },
1033
1077
  {
1034
1078
  type: "string",
@@ -1037,7 +1081,39 @@ var doc = [
1037
1081
  }
1038
1082
  ],
1039
1083
  returns: {
1040
- type: "number",
1084
+ type: "string",
1085
+ description: "日期字符串"
1086
+ },
1087
+ namespace: "日期函数"
1088
+ },
1089
+ {
1090
+ name: "DATERANGESPLIT",
1091
+ description: "获取日期范围字符串中的开始时间、结束时间\n\n示例:\n\nDATERANGESPLIT('1676563200, 1676735999') 得到 [1676563200, 1676735999]\nDATERANGESPLIT('1676563200, 1676735999', undefined , 'YYYY.MM.DD hh:mm:ss') 得到 [2023.02.17 12:00:00, 2023.02.18 11:59:59]\nDATERANGESPLIT('1676563200, 1676735999', 0 , 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.17 12:00:00'\nDATERANGESPLIT('1676563200, 1676735999', 'start' , 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.17 12:00:00'\nDATERANGESPLIT('1676563200, 1676735999', 1 , 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.18 11:59:59'\nDATERANGESPLIT('1676563200, 1676735999', 'end' , 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.18 11:59:59'",
1092
+ example: "DATERANGESPLIT(date, 'YYYY-MM-DD')",
1093
+ params: [
1094
+ {
1095
+ type: "string",
1096
+ name: "date",
1097
+ description: "日期范围字符串"
1098
+ },
1099
+ {
1100
+ type: "string",
1101
+ name: "key",
1102
+ description: "取值标识,0或'start'表示获取开始时间,1或'end'表示获取结束时间"
1103
+ },
1104
+ {
1105
+ type: "string",
1106
+ name: "format",
1107
+ description: "日期格式,可选"
1108
+ },
1109
+ {
1110
+ type: "string",
1111
+ name: "delimiter",
1112
+ description: "分隔符,可选,默认为','"
1113
+ }
1114
+ ],
1115
+ returns: {
1116
+ type: "string",
1041
1117
  description: "日期字符串"
1042
1118
  },
1043
1119
  namespace: "日期函数"
@@ -1056,6 +1132,11 @@ var doc = [
1056
1132
  type: "string",
1057
1133
  name: "unit",
1058
1134
  description: "比如可以传入 'day'、'month'、'year' 或者 `week` 等等"
1135
+ },
1136
+ {
1137
+ type: "string",
1138
+ name: "format",
1139
+ description: "日期格式,可选"
1059
1140
  }
1060
1141
  ],
1061
1142
  returns: {
@@ -1078,6 +1159,11 @@ var doc = [
1078
1159
  type: "string",
1079
1160
  name: "unit",
1080
1161
  description: "比如可以传入 'day'、'month'、'year' 或者 `week` 等等"
1162
+ },
1163
+ {
1164
+ type: "string",
1165
+ name: "format",
1166
+ description: "日期格式,可选"
1081
1167
  }
1082
1168
  ],
1083
1169
  returns: {
@@ -1379,6 +1465,38 @@ var doc = [
1379
1465
  },
1380
1466
  namespace: "日期函数"
1381
1467
  },
1468
+ {
1469
+ name: "BETWEENRANGE",
1470
+ description: "判断日期是否在指定范围内\n\n示例:BETWEENRANGE('2021/12/6', ['2021/12/5','2021/12/7'])",
1471
+ example: "BETWEENRANGE(date, [start, end])",
1472
+ params: [
1473
+ {
1474
+ type: "any",
1475
+ name: "date",
1476
+ description: "第一个日期"
1477
+ },
1478
+ {
1479
+ type: "Array<any>",
1480
+ name: "daterange",
1481
+ description: "日期范围"
1482
+ },
1483
+ {
1484
+ type: "string",
1485
+ name: "unit",
1486
+ description: "单位,默认是 'day', 即之比较到天"
1487
+ },
1488
+ {
1489
+ type: "string",
1490
+ name: "inclusivity",
1491
+ description: "包容性规则,默认为'[]'。[ 表示包含、( 表示排除,如果使用包容性参数,则必须传入两个指示符,如'()'表示左右范围都排除"
1492
+ }
1493
+ ],
1494
+ returns: {
1495
+ type: "boolean",
1496
+ description: "判断结果"
1497
+ },
1498
+ namespace: "日期函数"
1499
+ },
1382
1500
  {
1383
1501
  name: "ISSAMEORBEFORE",
1384
1502
  description: "判断两个日期,是否第一个日期在第二个日期的前面或者相等",
@@ -1494,6 +1612,116 @@ var doc = [
1494
1612
  },
1495
1613
  namespace: "数组"
1496
1614
  },
1615
+ {
1616
+ name: "ARRAYFINDINDEX",
1617
+ description: "数据做数据查找,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n找出第二个箭头函数返回为 true 的成员的索引。\n\n示例:\n\nARRAYFINDINDEX([0, 2, false], item => item === 2) 得到 1",
1618
+ example: "ARRAYFINDINDEX(arr, item => item === 2)",
1619
+ params: [
1620
+ {
1621
+ type: "Array<any>",
1622
+ name: "arr",
1623
+ description: "数组"
1624
+ },
1625
+ {
1626
+ type: "Array<any>",
1627
+ name: "iterator",
1628
+ description: "箭头函数"
1629
+ }
1630
+ ],
1631
+ returns: {
1632
+ type: "number",
1633
+ description: "结果"
1634
+ },
1635
+ namespace: "数组"
1636
+ },
1637
+ {
1638
+ name: "ARRAYFIND",
1639
+ description: "数据做数据查找,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n找出第二个箭头函数返回为 true 的成员。\n\n示例:\n\nARRAYFIND([0, 2, false], item => item === 2) 得到 2",
1640
+ example: "ARRAYFIND(arr, item => item === 2)",
1641
+ params: [
1642
+ {
1643
+ type: "Array<any>",
1644
+ name: "arr",
1645
+ description: "数组"
1646
+ },
1647
+ {
1648
+ type: "Array<any>",
1649
+ name: "iterator",
1650
+ description: "箭头函数"
1651
+ }
1652
+ ],
1653
+ returns: {
1654
+ type: "any",
1655
+ description: "结果"
1656
+ },
1657
+ namespace: "数组"
1658
+ },
1659
+ {
1660
+ name: "ARRAYSOME",
1661
+ description: "数据做数据遍历判断,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n判断第二个箭头函数是否存在返回为 true 的成员。\n\n示例:\n\nARRAYSOME([0, 2, false], item => item === 2) 得到 true",
1662
+ example: "ARRAYSOME(arr, item => item === 2)",
1663
+ params: [
1664
+ {
1665
+ type: "Array<any>",
1666
+ name: "arr",
1667
+ description: "数组"
1668
+ },
1669
+ {
1670
+ type: "Array<any>",
1671
+ name: "iterator",
1672
+ description: "箭头函数"
1673
+ }
1674
+ ],
1675
+ returns: {
1676
+ type: "boolean",
1677
+ description: "结果"
1678
+ },
1679
+ namespace: "数组"
1680
+ },
1681
+ {
1682
+ name: "ARRAYEVERY",
1683
+ description: "数据做数据遍历判断,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n判断第二个箭头函数返回是否都为 true。\n\n示例:\n\nARRAYEVERY([0, 2, false], item => item === 2) 得到 false",
1684
+ example: "ARRAYEVERY(arr, item => item === 2)",
1685
+ params: [
1686
+ {
1687
+ type: "Array<any>",
1688
+ name: "arr",
1689
+ description: "数组"
1690
+ },
1691
+ {
1692
+ type: "Array<any>",
1693
+ name: "iterator",
1694
+ description: "箭头函数"
1695
+ }
1696
+ ],
1697
+ returns: {
1698
+ type: "boolean",
1699
+ description: "结果"
1700
+ },
1701
+ namespace: "数组"
1702
+ },
1703
+ {
1704
+ name: "ARRAYINCLUDES",
1705
+ description: "判断数据中是否存在指定元素\n\n示例:\n\nARRAYINCLUDES([0, 2, false], 2) 得到 true",
1706
+ example: "ARRAYINCLUDES(arr, 2)",
1707
+ params: [
1708
+ {
1709
+ type: "Array<any>",
1710
+ name: "arr",
1711
+ description: "数组"
1712
+ },
1713
+ {
1714
+ type: "any",
1715
+ name: "item",
1716
+ description: "元素"
1717
+ }
1718
+ ],
1719
+ returns: {
1720
+ type: "any",
1721
+ description: "结果"
1722
+ },
1723
+ namespace: "数组"
1724
+ },
1497
1725
  {
1498
1726
  name: "COMPACT",
1499
1727
  description: "数组过滤掉 false、null、0 和 \"\"\n\n示例:\n\nCOMPACT([0, 1, false, 2, '', 3]) 得到 [1, 2, 3]",
@@ -1572,6 +1800,67 @@ var doc = [
1572
1800
  },
1573
1801
  namespace: "数组"
1574
1802
  },
1803
+ {
1804
+ name: "ENCODEJSON",
1805
+ description: "将JS对象转换成JSON字符串\n\n示例:\n\nENCODEJSON({name: 'amis'}) 得到 '{\"name\":\"amis\"}'",
1806
+ example: "ENCODEJSON({name: 'amis'})",
1807
+ params: [
1808
+ {
1809
+ type: "object",
1810
+ name: "obj",
1811
+ description: "JS对象"
1812
+ }
1813
+ ],
1814
+ returns: {
1815
+ type: "string",
1816
+ description: "结果"
1817
+ },
1818
+ namespace: "编码"
1819
+ },
1820
+ {
1821
+ name: "DECODEJSON",
1822
+ description: "解析JSON编码数据,返回JS对象\n\n示例:\n\nDECODEJSON('{\\\"name\\\": \"amis\"}') 得到 {name: 'amis'}",
1823
+ example: "DECODEJSON('{\\\"name\\\": \"amis\"}')",
1824
+ params: [
1825
+ {
1826
+ type: "string",
1827
+ name: "str",
1828
+ description: "字符串"
1829
+ }
1830
+ ],
1831
+ returns: {
1832
+ type: "object",
1833
+ description: "结果"
1834
+ },
1835
+ namespace: "编码"
1836
+ },
1837
+ {
1838
+ name: "GET",
1839
+ description: "根据对象或者数组的path路径获取值。 如果解析 value 是 undefined 会以 defaultValue 取代\n\n示例:\n\nGET([0, 2, {name: 'amis', age: 18}], 1) 得到 2\nGET([0, 2, {name: 'amis', age: 18}], '2.name') 得到 'amis'\nGET({arr: [{name: 'amis', age: 18}]}, 'arr[0].name') 得到 'amis'\nGET({arr: [{name: 'amis', age: 18}]}, 'arr.0.name') 得到 'amis'\nGET({arr: [{name: 'amis', age: 18}]}, 'arr.1.name', 'not-found') 得到 'not-found'",
1840
+ example: "GET(arr, 2)",
1841
+ params: [
1842
+ {
1843
+ type: "any",
1844
+ name: "obj",
1845
+ description: "对象或数组"
1846
+ },
1847
+ {
1848
+ type: "string",
1849
+ name: "path",
1850
+ description: "路径"
1851
+ },
1852
+ {
1853
+ type: "any",
1854
+ name: "defaultValue",
1855
+ description: "如果解析不到则返回该值"
1856
+ }
1857
+ ],
1858
+ returns: {
1859
+ type: "any",
1860
+ description: "结果"
1861
+ },
1862
+ namespace: "其他"
1863
+ },
1575
1864
  {
1576
1865
  name: "ISTYPE",
1577
1866
  description: "判断是否为类型支持:string, number, array, date, plain-object。",
@@ -1585,7 +1874,7 @@ var doc = [
1585
1874
  ],
1586
1875
  returns: {
1587
1876
  type: "boolean",
1588
- description: "结果结果"
1877
+ description: "结果"
1589
1878
  },
1590
1879
  namespace: "其他"
1591
1880
  }
package/esm/doc.md CHANGED
@@ -612,16 +612,75 @@
612
612
 
613
613
  返回现在的日期
614
614
 
615
+ ### WEEKDAY
616
+
617
+ 用法:`WEEKDAY(date)`
618
+
619
+ * `date:any` 日期
620
+ * `type:number` 星期定义类型,默认为1,1表示0至6代表星期一到星期日,2表示1至7代表星期一到星期日
621
+
622
+ 返回:`number` 星期几的数字标识
623
+
624
+ 获取日期的星期几,
625
+
626
+ 示例:
627
+
628
+ WEEKDAY('2023-02-27') 得到 1
629
+
630
+ ### WEEK
631
+
632
+ 用法:`WEEK(date)`
633
+
634
+ * `date:any` 日期
635
+ * `isISO:boolean` 是否ISO星期
636
+
637
+ 返回:`number` 星期几的数字标识
638
+
639
+ 获取年份的星期,即第几周
640
+
641
+ 示例:
642
+
643
+ WEEK('2023-03-05') 得到 10
644
+
615
645
  ### DATETOSTR
616
646
 
617
647
  用法:`DATETOSTR(date, 'YYYY-MM-DD')`
618
648
 
619
- * `date:date` 日期对象
649
+ * `date:any` 日期对象、日期字符串、时间戳
620
650
  * `format:string` 日期格式,默认为 "YYYY-MM-DD HH:mm:ss"
621
651
 
622
- 返回:`number` 日期字符串
652
+ 返回:`string` 日期字符串
653
+
654
+ 对日期、日期字符串、时间戳进行格式化
655
+
656
+ 示例:
657
+
658
+ DATETOSTR('12/25/2022', 'YYYY-MM-DD') 得到 '2022.12.25'
659
+ DATETOSTR(1676563200, 'YYYY.MM.DD') 得到 '2023.02.17'
660
+ DATETOSTR(1676563200000, 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.17 12:00:00'
661
+ DATETOSTR(DATE('2021-12-21'), 'YYYY.MM.DD hh:mm:ss') 得到 '2021.12.21 08:00:00'
662
+
663
+ ### DATERANGESPLIT
623
664
 
624
- 将日期转成日期字符串
665
+ 用法:`DATERANGESPLIT(date, 'YYYY-MM-DD')`
666
+
667
+ * `date:string` 日期范围字符串
668
+ * `key:string` 取值标识,0或'start'表示获取开始时间,1或'end'表示获取结束时间
669
+ * `format:string` 日期格式,可选
670
+ * `delimiter:string` 分隔符,可选,默认为','
671
+
672
+ 返回:`string` 日期字符串
673
+
674
+ 获取日期范围字符串中的开始时间、结束时间
675
+
676
+ 示例:
677
+
678
+ DATERANGESPLIT('1676563200, 1676735999') 得到 [1676563200, 1676735999]
679
+ DATERANGESPLIT('1676563200, 1676735999', undefined , 'YYYY.MM.DD hh:mm:ss') 得到 [2023.02.17 12:00:00, 2023.02.18 11:59:59]
680
+ DATERANGESPLIT('1676563200, 1676735999', 0 , 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.17 12:00:00'
681
+ DATERANGESPLIT('1676563200, 1676735999', 'start' , 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.17 12:00:00'
682
+ DATERANGESPLIT('1676563200, 1676735999', 1 , 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.18 11:59:59'
683
+ DATERANGESPLIT('1676563200, 1676735999', 'end' , 'YYYY.MM.DD hh:mm:ss') 得到 '2023.02.18 11:59:59'
625
684
 
626
685
  ### STARTOF
627
686
 
@@ -629,6 +688,7 @@
629
688
 
630
689
  * `date:date` 日期对象
631
690
  * `unit:string` 比如可以传入 'day'、'month'、'year' 或者 `week` 等等
691
+ * `format:string` 日期格式,可选
632
692
 
633
693
  返回:`date` 新的日期对象
634
694
 
@@ -640,6 +700,7 @@
640
700
 
641
701
  * `date:date` 日期对象
642
702
  * `unit:string` 比如可以传入 'day'、'month'、'year' 或者 `week` 等等
703
+ * `format:string` 日期格式,可选
643
704
 
644
705
  返回:`date` 新的日期对象
645
706
 
@@ -804,6 +865,21 @@ DATEMODIFY(A, -2, 'month')
804
865
 
805
866
  判断两个日期,是否第一个日期在第二个日期的后面
806
867
 
868
+ ### BETWEENRANGE
869
+
870
+ 用法:`BETWEENRANGE(date, [start, end])`
871
+
872
+ * `date:any` 第一个日期
873
+ * `daterange:Array<any>` 日期范围
874
+ * `unit:string` 单位,默认是 'day', 即之比较到天
875
+ * `inclusivity:string` 包容性规则,默认为'[]'。[ 表示包含、( 表示排除,如果使用包容性参数,则必须传入两个指示符,如'()'表示左右范围都排除
876
+
877
+ 返回:`boolean` 判断结果
878
+
879
+ 判断日期是否在指定范围内
880
+
881
+ 示例:BETWEENRANGE('2021/12/6', ['2021/12/5','2021/12/7'])
882
+
807
883
  ### ISSAMEORBEFORE
808
884
 
809
885
  用法:`ISSAMEORBEFORE(a, b)`
@@ -863,6 +939,85 @@ DATEMODIFY(A, -2, 'month')
863
939
  数据做数据过滤,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
864
940
  将第二个箭头函数返回为 false 的成员过滤掉。
865
941
 
942
+ ### ARRAYFINDINDEX
943
+
944
+ 用法:`ARRAYFINDINDEX(arr, item => item === 2)`
945
+
946
+ * `arr:Array<any>` 数组
947
+ * `iterator:Array<any>` 箭头函数
948
+
949
+ 返回:`number` 结果
950
+
951
+ 数据做数据查找,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
952
+ 找出第二个箭头函数返回为 true 的成员的索引。
953
+
954
+ 示例:
955
+
956
+ ARRAYFINDINDEX([0, 2, false], item => item === 2) 得到 1
957
+
958
+ ### ARRAYFIND
959
+
960
+ 用法:`ARRAYFIND(arr, item => item === 2)`
961
+
962
+ * `arr:Array<any>` 数组
963
+ * `iterator:Array<any>` 箭头函数
964
+
965
+ 返回:`any` 结果
966
+
967
+ 数据做数据查找,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
968
+ 找出第二个箭头函数返回为 true 的成员。
969
+
970
+ 示例:
971
+
972
+ ARRAYFIND([0, 2, false], item => item === 2) 得到 2
973
+
974
+ ### ARRAYSOME
975
+
976
+ 用法:`ARRAYSOME(arr, item => item === 2)`
977
+
978
+ * `arr:Array<any>` 数组
979
+ * `iterator:Array<any>` 箭头函数
980
+
981
+ 返回:`boolean` 结果
982
+
983
+ 数据做数据遍历判断,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
984
+ 判断第二个箭头函数是否存在返回为 true 的成员。
985
+
986
+ 示例:
987
+
988
+ ARRAYSOME([0, 2, false], item => item === 2) 得到 true
989
+
990
+ ### ARRAYEVERY
991
+
992
+ 用法:`ARRAYEVERY(arr, item => item === 2)`
993
+
994
+ * `arr:Array<any>` 数组
995
+ * `iterator:Array<any>` 箭头函数
996
+
997
+ 返回:`boolean` 结果
998
+
999
+ 数据做数据遍历判断,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。
1000
+ 判断第二个箭头函数返回是否都为 true。
1001
+
1002
+ 示例:
1003
+
1004
+ ARRAYEVERY([0, 2, false], item => item === 2) 得到 false
1005
+
1006
+ ### ARRAYINCLUDES
1007
+
1008
+ 用法:`ARRAYINCLUDES(arr, 2)`
1009
+
1010
+ * `arr:Array<any>` 数组
1011
+ * `item:any` 元素
1012
+
1013
+ 返回:`any` 结果
1014
+
1015
+ 判断数据中是否存在指定元素
1016
+
1017
+ 示例:
1018
+
1019
+ ARRAYINCLUDES([0, 2, false], 2) 得到 true
1020
+
866
1021
  ### COMPACT
867
1022
 
868
1023
  用法:`COMPACT(arr)`
@@ -921,15 +1076,65 @@ CONCAT(['a', 'b', 'c'], ['1'], ['3']) 得到 ['a', 'b', 'c', '1', '3']
921
1076
 
922
1077
  UNIQ([{a: '1'}, {b: '2'}, {a: '1'}], 'id')
923
1078
 
1079
+ ## 编码
1080
+
1081
+ ### ENCODEJSON
1082
+
1083
+ 用法:`ENCODEJSON({name: 'amis'})`
1084
+
1085
+ * `obj:object` JS对象
1086
+
1087
+ 返回:`string` 结果
1088
+
1089
+ 将JS对象转换成JSON字符串
1090
+
1091
+ 示例:
1092
+
1093
+ ENCODEJSON({name: 'amis'}) 得到 '{"name":"amis"}'
1094
+
1095
+ ### DECODEJSON
1096
+
1097
+ 用法:`DECODEJSON('{\"name\": "amis"}')`
1098
+
1099
+ * `str:string` 字符串
1100
+
1101
+ 返回:`object` 结果
1102
+
1103
+ 解析JSON编码数据,返回JS对象
1104
+
1105
+ 示例:
1106
+
1107
+ DECODEJSON('{\"name\": "amis"}') 得到 {name: 'amis'}
1108
+
924
1109
  ## 其他
925
1110
 
1111
+ ### GET
1112
+
1113
+ 用法:`GET(arr, 2)`
1114
+
1115
+ * `obj:any` 对象或数组
1116
+ * `path:string` 路径
1117
+ * `defaultValue:any` 如果解析不到则返回该值
1118
+
1119
+ 返回:`any` 结果
1120
+
1121
+ 根据对象或者数组的path路径获取值。 如果解析 value 是 undefined 会以 defaultValue 取代
1122
+
1123
+ 示例:
1124
+
1125
+ GET([0, 2, {name: 'amis', age: 18}], 1) 得到 2
1126
+ GET([0, 2, {name: 'amis', age: 18}], '2.name') 得到 'amis'
1127
+ GET({arr: [{name: 'amis', age: 18}]}, 'arr[0].name') 得到 'amis'
1128
+ GET({arr: [{name: 'amis', age: 18}]}, 'arr.0.name') 得到 'amis'
1129
+ GET({arr: [{name: 'amis', age: 18}]}, 'arr.1.name', 'not-found') 得到 'not-found'
1130
+
926
1131
  ### ISTYPE
927
1132
 
928
1133
  用法:`ISTYPE([{a: '1'}, {b: '2'}, {a: '1'}], 'array')`
929
1134
 
930
1135
  * `判断对象:string` null
931
1136
 
932
- 返回:`boolean` 结果结果
1137
+ 返回:`boolean` 结果
933
1138
 
934
1139
  判断是否为类型支持:string, number, array, date, plain-object。
935
1140