/**
//给一个数字, 根据里面的某个字段进行排序
//调用的时候有两个地方可以处理回调
//一个是 saveOneItem 函数 可以在处理的过程中单存每一行 如果是 json 整存的话 这个就不要用
//如果是整存的话 用最后 then(res=>{}) 去处理 resolve 后的内容 是个 完整的array *
* @param index 当前位置
* @param array 完整的未排序的
* @param arg "up","down",根据这两个命令进行排序的安排
* @param columnName 排序参考字段的名称 传一个字符串
* @param saveOneItem 回调函数, 每次处理完一次 在循环内部会返回一个单条 可以在外部进行存储操作
* @returns {Promise<unknown>}
*/
function reSort(index, array, arg, columnName, saveOneItem) {
return new Promise(resolve => {
if (index === 0 && arg === "up") {
return;
}
if (index === array.length - 1 && arg === "down") {
return;
}
if (arg === "up") {
let temp = array[index - 1];
array[index - 1] = array[index];
array[index] = temp;
}
if (arg === "down") {
let temp = array[index + 1];
array[index + 1] = array[index];
array[index] = temp;
}
for (let idx in array) {
array[idx][columnName] = parseInt(idx);
}
let forLoop = async (array) => {
for (let idx in array) {
let item = {};
item = Object.assign(item, array[idx]);
await saveOneItem(item);
}
};
forLoop(array).then(res => {
resolve(array);
});
});
}
给一个数字, 根据里面的某个字段进行排序
最新推荐文章于 2022-07-27 20:36:32 发布