33f1233b7126baf8f1d1fec60de56a478e42086e.js 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381
  1. System.register(["cc"], function (_export, _context) {
  2. "use strict";
  3. var _cclegacy, _crd;
  4. return {
  5. setters: [function (_cc) {
  6. _cclegacy = _cc.cclegacy;
  7. }],
  8. execute: function () {
  9. _crd = true;
  10. _cclegacy._RF.push({}, "2696fVV0U1BcotwtuSW7qe9", "ArrayExt", undefined);
  11. // @ts-ignore
  12. !Array.prototype.__cc_extended && Object.defineProperties(Array.prototype, {
  13. remove: {
  14. value: function value(filter) {
  15. if (typeof filter == 'function') {
  16. for (var _i2 = this.length - 1; _i2 > -1; --_i2) {
  17. filter(this[_i2], _i2, this) && this.splice(_i2, 1);
  18. }
  19. } else {
  20. for (var _i3 = this.length - 1; _i3 > -1; --_i3) {
  21. this[_i3] === filter && this.splice(_i3, 1);
  22. }
  23. }
  24. return this;
  25. }
  26. },
  27. removeOne: {
  28. value: function value(filter) {
  29. if (typeof filter == 'function') {
  30. for (var _i4 = 0; _i4 < this.length; ++_i4) {
  31. if (filter(this[_i4], _i4, this)) {
  32. this.splice(_i4, 1);
  33. return this;
  34. }
  35. }
  36. } else {
  37. for (var _i5 = 0; _i5 < this.length; ++_i5) {
  38. if (this[_i5] === filter) {
  39. this.splice(_i5, 1);
  40. return this;
  41. }
  42. }
  43. }
  44. return this;
  45. }
  46. },
  47. random: {
  48. value: function value() {
  49. var element = this[Math.floor(Math.random() * this.length)];
  50. return element;
  51. }
  52. },
  53. fastRemoveAt: {
  54. value: function value(index) {
  55. var length = this.length;
  56. if (index < 0 || index >= length) {
  57. return null;
  58. }
  59. var res = this[index];
  60. this[index] = this[length - 1];
  61. this.length = length - 1;
  62. return res;
  63. }
  64. },
  65. fastRemove: {
  66. value: function (_value) {
  67. function value(_x) {
  68. return _value.apply(this, arguments);
  69. }
  70. value.toString = function () {
  71. return _value.toString();
  72. };
  73. return value;
  74. }(function (value) {
  75. var index = this.indexOf(value);
  76. if (index >= 0) {
  77. this[index] = this[this.length - 1];
  78. --this.length;
  79. return true;
  80. }
  81. return false;
  82. })
  83. },
  84. first: {
  85. value: function value() {
  86. return this.length ? this[0] : null;
  87. }
  88. },
  89. last: {
  90. value: function value() {
  91. return this.length ? this[this.length - 1] : null;
  92. }
  93. },
  94. max: {
  95. value: function value(mapper) {
  96. if (!this.length) {
  97. return null;
  98. }
  99. function _max(a, b) {
  100. return a > b ? a : b;
  101. }
  102. if (typeof mapper == 'function') {
  103. var _max2 = mapper(this[0], 0, this);
  104. for (var _i6 = 1; _i6 < this.length; ++_i6) {
  105. var temp = mapper(this[_i6], _i6, this);
  106. _max2 = temp > _max2 ? temp : _max2;
  107. }
  108. return _max2;
  109. } else {
  110. return this.reduce(function (prev, cur) {
  111. return _max(prev, cur);
  112. });
  113. }
  114. }
  115. },
  116. min: {
  117. value: function value(mapper) {
  118. if (!this.length) {
  119. return null;
  120. }
  121. function _min(a, b) {
  122. return a < b ? a : b;
  123. }
  124. if (typeof mapper == 'function') {
  125. var _min2 = mapper(this[0], 0, this);
  126. for (var _i7 = 1; _i7 < this.length; ++_i7) {
  127. var temp = mapper(this[_i7], _i7, this);
  128. _min2 = temp < _min2 ? temp : _min2;
  129. }
  130. return _min2;
  131. } else {
  132. return this.reduce(function (prev, cur) {
  133. return _min(prev, cur);
  134. });
  135. }
  136. }
  137. },
  138. distinct: {
  139. value: function value() {
  140. return this.filter(function (v, i, arr) {
  141. return arr.indexOf(v) === i;
  142. });
  143. }
  144. },
  145. filterIndex: {
  146. value: function value(filter) {
  147. var output = [];
  148. for (var _i8 = 0; _i8 < this.length; ++_i8) {
  149. if (filter(this[_i8], _i8, this)) {
  150. output.push(_i8);
  151. }
  152. }
  153. return output;
  154. }
  155. },
  156. count: {
  157. value: function value(filter) {
  158. var result = 0;
  159. for (var _i9 = 0; _i9 < this.length; ++_i9) {
  160. if (filter(this[_i9], _i9, this)) {
  161. ++result;
  162. }
  163. }
  164. return result;
  165. }
  166. },
  167. sum: {
  168. value: function value(mapper) {
  169. var result = 0;
  170. for (var _i10 = 0; _i10 < this.length; ++_i10) {
  171. result += mapper ? mapper(this[_i10], _i10, this) : this[_i10];
  172. }
  173. return result;
  174. }
  175. },
  176. average: {
  177. value: function value(mapper) {
  178. return this.sum(mapper) / this.length;
  179. }
  180. },
  181. orderBy: {
  182. value: function value() {
  183. var mappers = [];
  184. for (var _i = 0; _i < arguments.length; _i++) {
  185. mappers[_i] = arguments[_i];
  186. }
  187. return this.slice().sort(function (a, b) {
  188. for (var _i11 = 0; _i11 < mappers.length; ++_i11) {
  189. var va = mappers[_i11](a);
  190. var vb = mappers[_i11](b);
  191. if (va > vb) {
  192. return 1;
  193. } else if (va < vb) {
  194. return -1;
  195. }
  196. }
  197. return 0;
  198. });
  199. }
  200. },
  201. orderByDesc: {
  202. value: function value() {
  203. var mappers = [];
  204. for (var _i = 0; _i < arguments.length; _i++) {
  205. mappers[_i] = arguments[_i];
  206. }
  207. return this.slice().sort(function (a, b) {
  208. for (var _i12 = 0; _i12 < mappers.length; ++_i12) {
  209. var va = mappers[_i12](a);
  210. var vb = mappers[_i12](b);
  211. if (va > vb) {
  212. return -1;
  213. } else if (va < vb) {
  214. return 1;
  215. }
  216. }
  217. return 0;
  218. });
  219. }
  220. },
  221. binarySearch: {
  222. value: function (_value2) {
  223. function value(_x2, _x3) {
  224. return _value2.apply(this, arguments);
  225. }
  226. value.toString = function () {
  227. return _value2.toString();
  228. };
  229. return value;
  230. }(function (value, keyMapper) {
  231. var low = 0,
  232. high = this.length - 1;
  233. while (low <= high) {
  234. var mid = (high + low) / 2 | 0;
  235. var midValue = keyMapper ? keyMapper(this[mid]) : this[mid];
  236. if (value === midValue) {
  237. return mid;
  238. } else if (value > midValue) {
  239. low = mid + 1;
  240. } else if (value < midValue) {
  241. high = mid - 1;
  242. }
  243. }
  244. return -1;
  245. })
  246. },
  247. binaryInsert: {
  248. value: function value(item, keyMapper, unique) {
  249. if (typeof keyMapper == 'boolean') {
  250. unique = keyMapper;
  251. keyMapper = undefined;
  252. }
  253. var low = 0,
  254. high = this.length - 1;
  255. var mid = NaN;
  256. var itemValue = keyMapper ? keyMapper(item) : item;
  257. while (low <= high) {
  258. mid = (high + low) / 2 | 0;
  259. var midValue = keyMapper ? keyMapper(this[mid]) : this[mid];
  260. if (itemValue === midValue) {
  261. if (unique) {
  262. return mid;
  263. } else {
  264. break;
  265. }
  266. } else if (itemValue > midValue) {
  267. low = mid + 1;
  268. } else if (itemValue < midValue) {
  269. high = mid - 1;
  270. }
  271. }
  272. var index = low > mid ? mid + 1 : mid;
  273. this.splice(index, 0, item);
  274. return index;
  275. }
  276. },
  277. binaryDistinct: {
  278. value: function value(keyMapper) {
  279. return this.filter(function (v, i, arr) {
  280. return arr.binarySearch(v, keyMapper) === i;
  281. });
  282. }
  283. },
  284. findLast: {
  285. value: function value(predicate) {
  286. for (var _i13 = this.length - 1; _i13 > -1; --_i13) {
  287. if (predicate(this[_i13], _i13, this)) {
  288. return this[_i13];
  289. }
  290. }
  291. return undefined;
  292. }
  293. },
  294. findLastIndex: {
  295. value: function value(predicate) {
  296. for (var _i14 = this.length - 1; _i14 > -1; --_i14) {
  297. if (predicate(this[_i14], _i14, this)) {
  298. return _i14;
  299. }
  300. }
  301. return -1;
  302. }
  303. },
  304. groupBy: {
  305. value: function value(grouper) {
  306. var group = this.reduce(function (prev, next) {
  307. var groupKey = grouper(next);
  308. if (!prev[groupKey]) {
  309. prev[groupKey] = [];
  310. }
  311. prev[groupKey].push(next);
  312. return prev;
  313. }, {});
  314. return Object.keys(group).map(function (key) {
  315. var arr = group[key];
  316. arr.key = key;
  317. return arr;
  318. });
  319. }
  320. },
  321. __cc_extended: {
  322. value: true
  323. }
  324. });
  325. _cclegacy._RF.pop();
  326. _crd = false;
  327. }
  328. };
  329. });
  330. //# sourceMappingURL=33f1233b7126baf8f1d1fec60de56a478e42086e.js.map