| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149 |
- System.register(["cc"], function (_export, _context) {
- "use strict";
- var _cclegacy, ArrayUtil, _crd;
- _export("ArrayUtil", void 0);
- return {
- setters: [function (_cc) {
- _cclegacy = _cc.cclegacy;
- }],
- execute: function () {
- _crd = true;
- _cclegacy._RF.push({}, "4613b2zY/dMSaGPBGo6eti3", "ArrayUtil", undefined);
- /*
- * @Author: dgflash
- * @Date: 2021-08-11 16:41:12
- * @LastEditors: dgflash
- * @LastEditTime: 2022-09-02 14:50:57
- */
- /** 数组工具 */
- _export("ArrayUtil", ArrayUtil = class ArrayUtil {
- /**
- * 数组去重,并创建一个新数组返回
- * @param arr 源数组
- */
- static noRepeated(arr) {
- var res = [arr[0]];
- for (var i = 1; i < arr.length; i++) {
- var repeat = false;
- for (var j = 0; j < res.length; j++) {
- if (arr[i] == res[j]) {
- repeat = true;
- break;
- }
- }
- if (!repeat) {
- res.push(arr[i]);
- }
- }
- return res;
- }
- /**
- * 复制二维数组
- * @param array 目标数组
- */
- static copy2DArray(array) {
- var newArray = [];
- for (var i = 0; i < array.length; i++) {
- newArray.push(array[i].concat());
- }
- return newArray;
- }
- /**
- * Fisher-Yates Shuffle 随机置乱算法
- * @param array 目标数组
- */
- static fisherYatesShuffle(array) {
- var count = array.length;
- while (count) {
- var index = Math.floor(Math.random() * count--);
- var temp = array[count];
- array[count] = array[index];
- array[index] = temp;
- }
- return array;
- }
- /**
- * 混淆数组
- * @param array 目标数组
- */
- static confound(array) {
- return array.slice().sort(() => Math.random() - .5);
- }
- /**
- * 数组扁平化
- * @param array 目标数组
- */
- static flattening(array) {
- for (; array.some(v => Array.isArray(v));) {
- // 判断 array 中是否有数组
- array = [].concat.apply([], array); // 压扁数组
- }
- return array;
- }
- /** 删除数组中指定项 */
- static removeItem(array, item) {
- var temp = array.concat();
- for (var i = 0; i < temp.length; i++) {
- var value = temp[i];
- if (item == value) {
- array.splice(i, 1);
- break;
- }
- }
- }
- /**
- * 合并数组
- * @param array1 目标数组1
- * @param array2 目标数组2
- */
- static combineArrays(array1, array2) {
- return [...array1, ...array2];
- }
- /**
- * 获取随机数组成员
- * @param array 目标数组
- */
- static getRandomValueInArray(array) {
- return array[Math.floor(Math.random() * array.length)];
- }
- });
- _cclegacy._RF.pop();
- _crd = false;
- }
- };
- });
- //# sourceMappingURL=812ef6d476ba523634e070f29e283f464dcb0315.js.map
|