流浪のwolf

卷帝

导航

树形结构体按照 sort 进行排序先按照字母排序 然后按照数字排序

// 先按照字母排序 然后按照数字排序
function sortListByLetter(arr) {
  return arr.sort((a, b) => {
    if (isNaN(a.name) && isNaN(b.name)) {
      // 都不是数字,按字母顺序排序
      return a.name.localeCompare(b.name);
    } else if (!isNaN(a.name) && !isNaN(b.name)) {
      // 都是数字,按数字大小排序
      return a.name - b.name;
    } else {
      // 字母和数字混合,数字排在后面
      return isNaN(a.name) ? -1 : 1;
    }
  });
}

// 树形结构体按照 sort 进行排序
export function sortTreeData (data, flag) {
  let arr = []
  if (flag === 1) {
    arr = data[0].children
  } else {
    arr = data
  }
   // 条件-是设备
  if(arr[0]?.mClassNO) {
    console.log('arr',arr);
    sortListByLetter(arr);
  }else {
    arr.sort(function (a, b) {
      return a.sort - b.sort 
    })
  }
  arr.forEach(item => {
    if (item.children) {
      item.children = sortTreeData(item.children, 2)
    }
  })
  if (flag === 1) {
    data[0].children = arr
    return data
  } else {
    return arr
  }
}

 

posted on 2024-06-14 15:23  流浪のwolf  阅读(7)  评论(0编辑  收藏  举报