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/lib/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
 
@@ -1024,15 +1024,59 @@ var doc = [
1024
1024
  },
1025
1025
  namespace: "日期函数"
1026
1026
  },
1027
+ {
1028
+ name: "WEEKDAY",
1029
+ description: "获取日期的星期几,\n\n示例:\n\nWEEKDAY('2023-02-27') 得到 1",
1030
+ example: "WEEKDAY(date)",
1031
+ params: [
1032
+ {
1033
+ type: "any",
1034
+ name: "date",
1035
+ description: "日期"
1036
+ },
1037
+ {
1038
+ type: "number",
1039
+ name: "type",
1040
+ description: "星期定义类型,默认为1,1表示0至6代表星期一到星期日,2表示1至7代表星期一到星期日"
1041
+ }
1042
+ ],
1043
+ returns: {
1044
+ type: "number",
1045
+ description: "星期几的数字标识"
1046
+ },
1047
+ namespace: "日期函数"
1048
+ },
1049
+ {
1050
+ name: "WEEK",
1051
+ description: "获取年份的星期,即第几周\n\n示例:\n\nWEEK('2023-03-05') 得到 10",
1052
+ example: "WEEK(date)",
1053
+ params: [
1054
+ {
1055
+ type: "any",
1056
+ name: "date",
1057
+ description: "日期"
1058
+ },
1059
+ {
1060
+ type: "boolean",
1061
+ name: "isISO",
1062
+ description: "是否ISO星期"
1063
+ }
1064
+ ],
1065
+ returns: {
1066
+ type: "number",
1067
+ description: "星期几的数字标识"
1068
+ },
1069
+ namespace: "日期函数"
1070
+ },
1027
1071
  {
1028
1072
  name: "DATETOSTR",
1029
- description: "将日期转成日期字符串",
1073
+ 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'",
1030
1074
  example: "DATETOSTR(date, 'YYYY-MM-DD')",
1031
1075
  params: [
1032
1076
  {
1033
- type: "date",
1077
+ type: "any",
1034
1078
  name: "date",
1035
- description: "日期对象"
1079
+ description: "日期对象、日期字符串、时间戳"
1036
1080
  },
1037
1081
  {
1038
1082
  type: "string",
@@ -1041,7 +1085,39 @@ var doc = [
1041
1085
  }
1042
1086
  ],
1043
1087
  returns: {
1044
- type: "number",
1088
+ type: "string",
1089
+ description: "日期字符串"
1090
+ },
1091
+ namespace: "日期函数"
1092
+ },
1093
+ {
1094
+ name: "DATERANGESPLIT",
1095
+ 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'",
1096
+ example: "DATERANGESPLIT(date, 'YYYY-MM-DD')",
1097
+ params: [
1098
+ {
1099
+ type: "string",
1100
+ name: "date",
1101
+ description: "日期范围字符串"
1102
+ },
1103
+ {
1104
+ type: "string",
1105
+ name: "key",
1106
+ description: "取值标识,0或'start'表示获取开始时间,1或'end'表示获取结束时间"
1107
+ },
1108
+ {
1109
+ type: "string",
1110
+ name: "format",
1111
+ description: "日期格式,可选"
1112
+ },
1113
+ {
1114
+ type: "string",
1115
+ name: "delimiter",
1116
+ description: "分隔符,可选,默认为','"
1117
+ }
1118
+ ],
1119
+ returns: {
1120
+ type: "string",
1045
1121
  description: "日期字符串"
1046
1122
  },
1047
1123
  namespace: "日期函数"
@@ -1060,6 +1136,11 @@ var doc = [
1060
1136
  type: "string",
1061
1137
  name: "unit",
1062
1138
  description: "比如可以传入 'day'、'month'、'year' 或者 `week` 等等"
1139
+ },
1140
+ {
1141
+ type: "string",
1142
+ name: "format",
1143
+ description: "日期格式,可选"
1063
1144
  }
1064
1145
  ],
1065
1146
  returns: {
@@ -1082,6 +1163,11 @@ var doc = [
1082
1163
  type: "string",
1083
1164
  name: "unit",
1084
1165
  description: "比如可以传入 'day'、'month'、'year' 或者 `week` 等等"
1166
+ },
1167
+ {
1168
+ type: "string",
1169
+ name: "format",
1170
+ description: "日期格式,可选"
1085
1171
  }
1086
1172
  ],
1087
1173
  returns: {
@@ -1383,6 +1469,38 @@ var doc = [
1383
1469
  },
1384
1470
  namespace: "日期函数"
1385
1471
  },
1472
+ {
1473
+ name: "BETWEENRANGE",
1474
+ description: "判断日期是否在指定范围内\n\n示例:BETWEENRANGE('2021/12/6', ['2021/12/5','2021/12/7'])",
1475
+ example: "BETWEENRANGE(date, [start, end])",
1476
+ params: [
1477
+ {
1478
+ type: "any",
1479
+ name: "date",
1480
+ description: "第一个日期"
1481
+ },
1482
+ {
1483
+ type: "Array<any>",
1484
+ name: "daterange",
1485
+ description: "日期范围"
1486
+ },
1487
+ {
1488
+ type: "string",
1489
+ name: "unit",
1490
+ description: "单位,默认是 'day', 即之比较到天"
1491
+ },
1492
+ {
1493
+ type: "string",
1494
+ name: "inclusivity",
1495
+ description: "包容性规则,默认为'[]'。[ 表示包含、( 表示排除,如果使用包容性参数,则必须传入两个指示符,如'()'表示左右范围都排除"
1496
+ }
1497
+ ],
1498
+ returns: {
1499
+ type: "boolean",
1500
+ description: "判断结果"
1501
+ },
1502
+ namespace: "日期函数"
1503
+ },
1386
1504
  {
1387
1505
  name: "ISSAMEORBEFORE",
1388
1506
  description: "判断两个日期,是否第一个日期在第二个日期的前面或者相等",
@@ -1498,6 +1616,116 @@ var doc = [
1498
1616
  },
1499
1617
  namespace: "数组"
1500
1618
  },
1619
+ {
1620
+ name: "ARRAYFINDINDEX",
1621
+ description: "数据做数据查找,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n找出第二个箭头函数返回为 true 的成员的索引。\n\n示例:\n\nARRAYFINDINDEX([0, 2, false], item => item === 2) 得到 1",
1622
+ example: "ARRAYFINDINDEX(arr, item => item === 2)",
1623
+ params: [
1624
+ {
1625
+ type: "Array<any>",
1626
+ name: "arr",
1627
+ description: "数组"
1628
+ },
1629
+ {
1630
+ type: "Array<any>",
1631
+ name: "iterator",
1632
+ description: "箭头函数"
1633
+ }
1634
+ ],
1635
+ returns: {
1636
+ type: "number",
1637
+ description: "结果"
1638
+ },
1639
+ namespace: "数组"
1640
+ },
1641
+ {
1642
+ name: "ARRAYFIND",
1643
+ description: "数据做数据查找,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n找出第二个箭头函数返回为 true 的成员。\n\n示例:\n\nARRAYFIND([0, 2, false], item => item === 2) 得到 2",
1644
+ example: "ARRAYFIND(arr, item => item === 2)",
1645
+ params: [
1646
+ {
1647
+ type: "Array<any>",
1648
+ name: "arr",
1649
+ description: "数组"
1650
+ },
1651
+ {
1652
+ type: "Array<any>",
1653
+ name: "iterator",
1654
+ description: "箭头函数"
1655
+ }
1656
+ ],
1657
+ returns: {
1658
+ type: "any",
1659
+ description: "结果"
1660
+ },
1661
+ namespace: "数组"
1662
+ },
1663
+ {
1664
+ name: "ARRAYSOME",
1665
+ description: "数据做数据遍历判断,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n判断第二个箭头函数是否存在返回为 true 的成员。\n\n示例:\n\nARRAYSOME([0, 2, false], item => item === 2) 得到 true",
1666
+ example: "ARRAYSOME(arr, item => item === 2)",
1667
+ params: [
1668
+ {
1669
+ type: "Array<any>",
1670
+ name: "arr",
1671
+ description: "数组"
1672
+ },
1673
+ {
1674
+ type: "Array<any>",
1675
+ name: "iterator",
1676
+ description: "箭头函数"
1677
+ }
1678
+ ],
1679
+ returns: {
1680
+ type: "boolean",
1681
+ description: "结果"
1682
+ },
1683
+ namespace: "数组"
1684
+ },
1685
+ {
1686
+ name: "ARRAYEVERY",
1687
+ description: "数据做数据遍历判断,需要搭配箭头函数一起使用,注意箭头函数只支持单表达式用法。\n判断第二个箭头函数返回是否都为 true。\n\n示例:\n\nARRAYEVERY([0, 2, false], item => item === 2) 得到 false",
1688
+ example: "ARRAYEVERY(arr, item => item === 2)",
1689
+ params: [
1690
+ {
1691
+ type: "Array<any>",
1692
+ name: "arr",
1693
+ description: "数组"
1694
+ },
1695
+ {
1696
+ type: "Array<any>",
1697
+ name: "iterator",
1698
+ description: "箭头函数"
1699
+ }
1700
+ ],
1701
+ returns: {
1702
+ type: "boolean",
1703
+ description: "结果"
1704
+ },
1705
+ namespace: "数组"
1706
+ },
1707
+ {
1708
+ name: "ARRAYINCLUDES",
1709
+ description: "判断数据中是否存在指定元素\n\n示例:\n\nARRAYINCLUDES([0, 2, false], 2) 得到 true",
1710
+ example: "ARRAYINCLUDES(arr, 2)",
1711
+ params: [
1712
+ {
1713
+ type: "Array<any>",
1714
+ name: "arr",
1715
+ description: "数组"
1716
+ },
1717
+ {
1718
+ type: "any",
1719
+ name: "item",
1720
+ description: "元素"
1721
+ }
1722
+ ],
1723
+ returns: {
1724
+ type: "any",
1725
+ description: "结果"
1726
+ },
1727
+ namespace: "数组"
1728
+ },
1501
1729
  {
1502
1730
  name: "COMPACT",
1503
1731
  description: "数组过滤掉 false、null、0 和 \"\"\n\n示例:\n\nCOMPACT([0, 1, false, 2, '', 3]) 得到 [1, 2, 3]",
@@ -1576,6 +1804,67 @@ var doc = [
1576
1804
  },
1577
1805
  namespace: "数组"
1578
1806
  },
1807
+ {
1808
+ name: "ENCODEJSON",
1809
+ description: "将JS对象转换成JSON字符串\n\n示例:\n\nENCODEJSON({name: 'amis'}) 得到 '{\"name\":\"amis\"}'",
1810
+ example: "ENCODEJSON({name: 'amis'})",
1811
+ params: [
1812
+ {
1813
+ type: "object",
1814
+ name: "obj",
1815
+ description: "JS对象"
1816
+ }
1817
+ ],
1818
+ returns: {
1819
+ type: "string",
1820
+ description: "结果"
1821
+ },
1822
+ namespace: "编码"
1823
+ },
1824
+ {
1825
+ name: "DECODEJSON",
1826
+ description: "解析JSON编码数据,返回JS对象\n\n示例:\n\nDECODEJSON('{\\\"name\\\": \"amis\"}') 得到 {name: 'amis'}",
1827
+ example: "DECODEJSON('{\\\"name\\\": \"amis\"}')",
1828
+ params: [
1829
+ {
1830
+ type: "string",
1831
+ name: "str",
1832
+ description: "字符串"
1833
+ }
1834
+ ],
1835
+ returns: {
1836
+ type: "object",
1837
+ description: "结果"
1838
+ },
1839
+ namespace: "编码"
1840
+ },
1841
+ {
1842
+ name: "GET",
1843
+ 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'",
1844
+ example: "GET(arr, 2)",
1845
+ params: [
1846
+ {
1847
+ type: "any",
1848
+ name: "obj",
1849
+ description: "对象或数组"
1850
+ },
1851
+ {
1852
+ type: "string",
1853
+ name: "path",
1854
+ description: "路径"
1855
+ },
1856
+ {
1857
+ type: "any",
1858
+ name: "defaultValue",
1859
+ description: "如果解析不到则返回该值"
1860
+ }
1861
+ ],
1862
+ returns: {
1863
+ type: "any",
1864
+ description: "结果"
1865
+ },
1866
+ namespace: "其他"
1867
+ },
1579
1868
  {
1580
1869
  name: "ISTYPE",
1581
1870
  description: "判断是否为类型支持:string, number, array, date, plain-object。",
@@ -1589,7 +1878,7 @@ var doc = [
1589
1878
  ],
1590
1879
  returns: {
1591
1880
  type: "boolean",
1592
- description: "结果结果"
1881
+ description: "结果"
1593
1882
  },
1594
1883
  namespace: "其他"
1595
1884
  }
package/lib/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