mirror of
https://codeup.aliyun.com/67762337eccfc218f6110e0e/vue/fe-manage.git
synced 2025-12-15 05:46:45 +08:00
评估接口+课程部分
This commit is contained in:
86
src/utils/utils.js
Normal file
86
src/utils/utils.js
Normal file
@@ -0,0 +1,86 @@
|
||||
//
|
||||
export function traverseArr(arr, traverseObj, saveOld = false) {
|
||||
const newArr = [];
|
||||
if (arr.length !== 0) {
|
||||
arr.forEach((item) => {
|
||||
let obj = {};
|
||||
if (saveOld) {
|
||||
obj = {
|
||||
...item,
|
||||
};
|
||||
}
|
||||
if (Object.keys(traverseObj).length !== 0) {
|
||||
for (const key in traverseObj) {
|
||||
if (typeof traverseObj[key] === "string") {
|
||||
obj[key] = item[traverseObj[key]];
|
||||
} else {
|
||||
if (item[key] && item[key].length !== 0) {
|
||||
obj[key] = traverseArr(item[key], traverseObj);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
newArr.push(obj);
|
||||
});
|
||||
}
|
||||
return newArr;
|
||||
}
|
||||
|
||||
// export function deepClone(obj) {
|
||||
// let result = typeof obj.splice === "function" ? [] : {};
|
||||
// if (obj && typeof obj === "object") {
|
||||
// for (let key in obj) {
|
||||
// if (obj[key] && typeof obj[key] === "object") {
|
||||
// result[key] = deepClone(obj[key]);
|
||||
// } else {
|
||||
// result[key] = obj[key];
|
||||
// }
|
||||
// }
|
||||
// return result;
|
||||
// }
|
||||
// return obj;
|
||||
// }
|
||||
|
||||
export function deepCloneFilterString(obj, fillterKeys) {
|
||||
let result = typeof obj.splice === "function" ? [] : {};
|
||||
if (obj && typeof obj === "object") {
|
||||
for (let key in obj) {
|
||||
if (obj[key] && typeof obj[key] === "object") {
|
||||
result[key] = deepCloneFilterString(obj[key], fillterKeys);
|
||||
} else {
|
||||
result[key] = fillterKeys.includes(key) ? obj[key] : String(obj[key]);
|
||||
}
|
||||
}
|
||||
return result;
|
||||
}
|
||||
return obj;
|
||||
}
|
||||
|
||||
export function sortBy(arr, ...keys) {
|
||||
return arr.sort((x, y) => {
|
||||
for (const key of keys) {
|
||||
const valueX = typeof key === "function" ? key(x) : x[key];
|
||||
const valueY = typeof key === "function" ? key(y) : y[key];
|
||||
if (valueX > valueY) {
|
||||
return 1;
|
||||
}
|
||||
if (valueX < valueY) {
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
return 0;
|
||||
});
|
||||
}
|
||||
|
||||
export function filterCommon(arr, key) {
|
||||
let newData = {};
|
||||
arr.forEach((item) => {
|
||||
//新建属性名
|
||||
if (Object.keys(newData).indexOf("" + item[key]) === -1) {
|
||||
newData[item[key]] = [];
|
||||
}
|
||||
//对应插入属性值
|
||||
newData["" + item[key]].push(item);
|
||||
});
|
||||
return newData;
|
||||
}
|
||||
Reference in New Issue
Block a user