diff --git a/.gitignore b/.gitignore index 6bd56269706c8951e56895ab862896e2af58c80b..67ef56d03e74472aeaa3d8947873787951c10267 100644 --- a/.gitignore +++ b/.gitignore @@ -116,4 +116,8 @@ dist .pnp.* # uniapp相关的忽略资源 -.hbuilderx +.hbuilderx/ +unpackage/ + +# gitee相关的忽略资源 +.gitee/ \ No newline at end of file diff --git a/utils/help/xzArray.js b/utils/help/xzArray.js index a0be783308800865bcc90d79031185e772f1a63c..4e161a3d0f36e4d964be6fd52e467195197bf31b 100644 --- a/utils/help/xzArray.js +++ b/utils/help/xzArray.js @@ -7,208 +7,159 @@ **/ export default { - - - -} - - -/** - * @description 值是否包含在数组内 - * @param { Object } array 数组 - * @param { Object } value 值 - * @return { Boolean } true:包含,false:不包含 - * @example - * obj.ubArrayIsContains([1,2],2);
- * true - */ -function ubArrayIsContains(array, value) { - return array.indexOf(value) != -1 ? true : false; -} - -/** - * @description 数组排序 - * @param { Array } array 数组 - * @param { Number } 排序方式 1:从小到大 2:从大到小 3:随机 - * @return { Array } 排序后的数组 - * @example - * obj.ubArraySort([1,2,3],1);
- * [1,2,3] - */ -function ubArraySort(array, type = 1) { - return array.sort((a, b) => { - switch (type) { - case 1: - return a - b; - case 2: - return b - a; - case 3: - return Math.random() - 0.5; - default: - return array; - } - }); -} - -/** - * @description 数组去重 - * @param { Object } array 待去重数组 - * @return { Array } 去重后的数组 - * @example - * obj.ubArrayUnique([1,2,1]); - * [1,2] - */ -function ubArrayUnique(array) { - if (Array.hasOwnProperty('from')) { - return Array.from(new Set(array)); - } else { - let n = {}, - r = []; - for (let i = 0; i < array.length; i++) { - if (!n[array[i]]) { - n[array[i]] = true; - r.push(array[i]); + /** + * @Description 值是否包含在数组内 + * @Date 2022年7月21日08:14:28 + * @Param {Array} array 数组 + * @Param {Sting|Number} value 值 + * @Return {Boolean} true:包含,false:不包含 + **/ + arrayIsContains(array, value) { + return array.indexOf(value) != -1 ? true : false; + }, + /** + * @Description 数组排序 + * @Date 2022年7月21日08:14:28 + * @Param {Array} array 数组 + * @Param {Number} 排序方式 1:从小到大 2:从大到小 3:随机 + * @Return {Array} 排序后的数组 + **/ + arraySort(array, type = 1) { + return array.sort((a, b) => { + switch (type) { + case 1: + return a - b; + case 2: + return b - a; + case 3: + return Math.random() - 0.5; + default: + return array; + } + }); + }, + /** + * @Description 数组去重 + * @Date 2022年7月21日08:14:28 + * @Param {Array} array 待去重数组 + * @Return {Array} 去重后的数组 + **/ + arrayUnique(array) { + if (Array.hasOwnProperty('from')) { + return Array.from(new Set(arr)); + } else { + let r = [], + NaNBol = true; + for (let i = 0; i < array.length; i++) { + if (array[i] !== array[i]) { + if (NaNBol && r.indexOf(array[i]) === -1) { + r.push(array[i]); + NaNBol = false; + } + } else { + if (r.indexOf(array[i]) === -1) { + r.push(array[i]); + } + } + return r; } } - return r; - } - // 备注:上面 else 里面的排重并不能区分 2 和 '2',但能减少用indexOf带来的性能,暂时没找到替代的方法。。。 - // 正确排重 - // if (Array.hasOwnProperty('from')) { - // return Array.from(new Set(arr)); - // } else { - // let r = [], - // NaNBol = true; - // for (let i = 0; i < array.length; i++) { - // if (array[i] !== array[i]) { - // if (NaNBol && r.indexOf(array[i]) === -1) { - // r.push(array[i]); - // NaNBol = false; - // } - // } else { - // if (r.indexOf(array[i]) === -1) { - // r.push(array[i]); - // } - // } - // return r; - // } - // } -} - -/** - * @description 求两个数组的并集 - * @param { Array } array1 第1个数组 - * @param { Array } array2 第2个数组 - * @return { Array } 数组并集 - * @example - * obj.ubArrayUnion([1,2],[2,3]);
- * [1,2,3] - */ -function ubArrayUnion(array1, array2) { - let newArray = array1.concat(array2); - return ubArrayUnique(newArray); -} - -/** - * @description 求两个数组的交集 - * @param { Array } array1 第1个数组 - * @param { Array } array2 第2个数 - * @return { Array } 数组交集 - * @example - * obj.ubArrayIntersect([1,2],[2,3]);
- * [2] - */ -function ubArrayIntersect(array1, array2) { - array1 = ubArrayUnique(array1); - return map(array1, function(o) { - return ubArrayIsContains(array2, o) ? o : null; - }); -} - -/** - * @description 删除指定元素 - * @param { Array } array 数组 - * @param { Object } value 指定值 - * @return { Array } 删除后的数组 - * @example - * obj.ubArrayRemove(['1','2'],'2');
- * ['1'] - */ -function ubArrayRemove(array, value) { - let index = array.indexOf(value); - if (index > -1) { - array.splice(index, 1); - } - return array; -} - -/** - * @description 删除指定数组中的元素 - * @param { Array } array 数组 - * @param { Array } array 指定值 - * @return { Array } 删除后的数组 - * @example - * obj.ubArrayRemove(['1','2','3'],['2','3','4']);
- * ['1'] - */ -function ubArrayRemoveArray(array, deletArray) { - for (var i = 0; i < deletArray.length; i++) { - let index = array.indexOf(deletArray[i]); + }, + /** + * @Description 求两个数组的并集 + * @Date 2022年7月21日08:14:28 + * @Param {Array} array1 第1个数组 + * @Param {Array} array2 第2个数组 + * @Return {Array} 数组并集 + **/ + arrayUnion(array1, array2) { + let newArray = array1.concat(array2); + return ubArrayUnique(newArray); + }, + /** + * @Description 求两个数组的交集 + * @Date 2022年7月21日08:14:28 + * @Param {Array} array1 第1个数组 + * @Param {Array} array2 第2个数组 + * @Return {Array} 数组交集 + **/ + arrayIntersect(array1, array2) { + array1 = ubArrayUnique(array1); + return map(array1, function(o) { + return ubArrayIsContains(array2, o) ? o : null; + }); + }, + /** + * @Description 删除指定元素 + * @Date 2022年7月21日08:14:28 + * @Param {Array} array 数组 + * @Param {Sting|Number} value 待删除值 + * @Return {Array} 删除后的数组 + **/ + arrayRemove(array, value) { + let index = array.indexOf(value); if (index > -1) { array.splice(index, 1); } + return array; + }, + /** + * @Description 删除指定数组中的元素 + * @Date 2022年7月21日08:14:28 + * @Param {Array} array 数组 + * @Param {Array} deletArray 指定值 + * @Return {Array} 删除后的数组 + **/ + arrayRemoveArray(array, deletArray) { + for (let i = 0; i < deletArray.length; i++) { + let index = array.indexOf(deletArray[i]); + if (index > -1) { + array.splice(index, 1); + } + } + return array; + }, + /** + * @Description 将类数组转换成数组 + * @Date 2022年7月21日08:14:28 + * @Param {Object} ary 类数组 + * @Return {Array} 数组 + **/ + arrayFromArrayLike(araryLike) { + let array = []; + if (Array.isArray(araryLike)) { + array = araryLike; + } else { + araryLike.length = araryLike.length + 1; + array = Array.prototype.slice.call(araryLike,1); + } + return array; + }, + /** + * @Description 数组最大值 + * @Date 2022年7月21日08:14:28 + * @Param {Array} array 数组 + * @Return {String|Number} 最大值 + **/ + arrayMax(array) { + return Math.max.apply(null, array); + }, + /** + * @Description 数组最小值 + * @Date 2022年7月21日08:14:28 + * @Param {Array} array 数组 + * @Return {String|Number} 最小值 + **/ + arrayMin(array) { + return Math.min.apply(null, array); } - return array; + + + } -/** - * @description 将类数组转换成数组 - * @param { Object } ary 类数组 - * @return { Array } 数组 - * @example - * let ary = {
- * 0:'a',
- * 1:'第二',
- * 4:'1234',
- * length:3
- * };
- * obj.ubArrayFromArray(art);
- * ['a','第二','1234'] - */ -function ubArrayFromArrayLike(araryLike) { - let array = []; - if (Array.isArray(araryLike)) { - array = araryLike; - } else { - araryLike.length = araryLike.length + 1; - array = Array.prototype.slice.call(araryLike,1); - } - return array; -} -/** - * @description 数组最大值 - * @param { Array } array 数组 - * @return { Object } 最大值 - * @example - * obj.ubArrayMax([1,1,2,3,3]);
- * 3 - */ -function ubArrayMax(array) { - return Math.max.apply(null, array); -} -/** - * @description 数组最小值 - * @param { Array } array 数组 - * @return { Object } 最小值 - * @example - * obj.ubArrayMin([1,1,2]);
- * 1 - */ -function ubArrayMin(array) { - return Math.min.apply(null, array); -} /** * @description 数组求和 @@ -270,18 +221,3 @@ function each(array, fn) { } } } - -export default { - ubArrayIsContains, - ubArraySort, - ubArrayUnique, - ubArrayUnion, - ubArrayIntersect, - ubArrayRemove, - ubArrayRemoveArray, - ubArrayFromArrayLike, - ubArrayMax, - ubArrayMin, - ubArraySum, - ubArrayAverage -}