提交 858febaf 编写于 作者: 小刘28's avatar 小刘28 💬

feat:有git忽略配置文件;完成部分数组库的处理内容;

上级 f24f9846
...@@ -116,4 +116,8 @@ dist ...@@ -116,4 +116,8 @@ dist
.pnp.* .pnp.*
# uniapp相关的忽略资源 # uniapp相关的忽略资源
.hbuilderx .hbuilderx/
unpackage/
# gitee相关的忽略资源
.gitee/
\ No newline at end of file
...@@ -7,208 +7,159 @@ ...@@ -7,208 +7,159 @@
**/ **/
export default { export default {
/**
* @Description 值是否包含在数组内
* @Date 2022年7月21日08:14:28
} * @Param {Array} array 数组
* @Param {Sting|Number} value 值
* @Return {Boolean} true:包含,false:不包含
/** **/
* @description 值是否包含在数组内 arrayIsContains(array, value) {
* @param { Object } array 数组 return array.indexOf(value) != -1 ? true : false;
* @param { Object } value 值 },
* @return { Boolean } true:包含,false:不包含 /**
* @example * @Description 数组排序
* obj.ubArrayIsContains([1,2],2);<br/> * @Date 2022年7月21日08:14:28
* true * @Param {Array} array 数组
*/ * @Param {Number} 排序方式 1:从小到大 2:从大到小 3:随机
function ubArrayIsContains(array, value) { * @Return {Array} 排序后的数组
return array.indexOf(value) != -1 ? true : false; **/
} arraySort(array, type = 1) {
return array.sort((a, b) => {
/** switch (type) {
* @description 数组排序 case 1:
* @param { Array } array 数组 return a - b;
* @param { Number } 排序方式 1:从小到大 2:从大到小 3:随机 case 2:
* @return { Array } 排序后的数组 return b - a;
* @example case 3:
* obj.ubArraySort([1,2,3],1);<br/> return Math.random() - 0.5;
* [1,2,3] default:
*/ return array;
function ubArraySort(array, type = 1) { }
return array.sort((a, b) => { });
switch (type) { },
case 1: /**
return a - b; * @Description 数组去重
case 2: * @Date 2022年7月21日08:14:28
return b - a; * @Param {Array} array 待去重数组
case 3: * @Return {Array} 去重后的数组
return Math.random() - 0.5; **/
default: arrayUnique(array) {
return array; if (Array.hasOwnProperty('from')) {
} return Array.from(new Set(arr));
}); } else {
} let r = [],
NaNBol = true;
/** for (let i = 0; i < array.length; i++) {
* @description 数组去重 if (array[i] !== array[i]) {
* @param { Object } array 待去重数组 if (NaNBol && r.indexOf(array[i]) === -1) {
* @return { Array } 去重后的数组 r.push(array[i]);
* @example NaNBol = false;
* obj.ubArrayUnique([1,2,1]); }
* [1,2] } else {
*/ if (r.indexOf(array[i]) === -1) {
function ubArrayUnique(array) { r.push(array[i]);
if (Array.hasOwnProperty('from')) { }
return Array.from(new Set(array)); }
} else { return r;
let n = {},
r = [];
for (let i = 0; i < array.length; i++) {
if (!n[array[i]]) {
n[array[i]] = true;
r.push(array[i]);
} }
} }
return r; },
} /**
// 备注:上面 else 里面的排重并不能区分 2 和 '2',但能减少用indexOf带来的性能,暂时没找到替代的方法。。。 * @Description 求两个数组的并集
// 正确排重 * @Date 2022年7月21日08:14:28
// if (Array.hasOwnProperty('from')) { * @Param {Array} array1 第1个数组
// return Array.from(new Set(arr)); * @Param {Array} array2 第2个数组
// } else { * @Return {Array} 数组并集
// let r = [], **/
// NaNBol = true; arrayUnion(array1, array2) {
// for (let i = 0; i < array.length; i++) { let newArray = array1.concat(array2);
// if (array[i] !== array[i]) { return ubArrayUnique(newArray);
// if (NaNBol && r.indexOf(array[i]) === -1) { },
// r.push(array[i]); /**
// NaNBol = false; * @Description 求两个数组的交集
// } * @Date 2022年7月21日08:14:28
// } else { * @Param {Array} array1 第1个数组
// if (r.indexOf(array[i]) === -1) { * @Param {Array} array2 第2个数组
// r.push(array[i]); * @Return {Array} 数组交集
// } **/
// } arrayIntersect(array1, array2) {
// return r; array1 = ubArrayUnique(array1);
// } return map(array1, function(o) {
// } return ubArrayIsContains(array2, o) ? o : null;
} });
},
/** /**
* @description 求两个数组的并集 * @Description 删除指定元素
* @param { Array } array1 第1个数组 * @Date 2022年7月21日08:14:28
* @param { Array } array2 第2个数组 * @Param {Array} array 数组
* @return { Array } 数组并集 * @Param {Sting|Number} value 待删除值
* @example * @Return {Array} 删除后的数组
* obj.ubArrayUnion([1,2],[2,3]);<br/> **/
* [1,2,3] arrayRemove(array, value) {
*/ let index = array.indexOf(value);
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]);<br/>
* [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');<br/>
* ['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']);<br/>
* ['1']
*/
function ubArrayRemoveArray(array, deletArray) {
for (var i = 0; i < deletArray.length; i++) {
let index = array.indexOf(deletArray[i]);
if (index > -1) { if (index > -1) {
array.splice(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 = {<br/>
* 0:'a',<br/>
* 1:'第二',<br/>
* 4:'1234',<br/>
* length:3<br/>
* };<br/>
* obj.ubArrayFromArray(art);<br/>
* ['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]);<br/>
* 3
*/
function ubArrayMax(array) {
return Math.max.apply(null, array);
}
/**
* @description 数组最小值
* @param { Array } array 数组
* @return { Object } 最小值
* @example
* obj.ubArrayMin([1,1,2]);<br/>
* 1
*/
function ubArrayMin(array) {
return Math.min.apply(null, array);
}
/** /**
* @description 数组求和 * @description 数组求和
...@@ -270,18 +221,3 @@ function each(array, fn) { ...@@ -270,18 +221,3 @@ function each(array, fn) {
} }
} }
} }
export default {
ubArrayIsContains,
ubArraySort,
ubArrayUnique,
ubArrayUnion,
ubArrayIntersect,
ubArrayRemove,
ubArrayRemoveArray,
ubArrayFromArrayLike,
ubArrayMax,
ubArrayMin,
ubArraySum,
ubArrayAverage
}
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册