优化后的代码:

if (refreshType && (refreshType === 'addLevel' || refreshType === 'cut') && pasteLastObj) {
  for (let i = 0; i < griddata.length; i++) {
    const currentData = griddata[i];
    if (currentData.parentId === pasteLastObj.parentId || currentData.parentId === pasteLastObj.id) {
      if (currentData.reqType === 'title' && ((currentData.isChanged && currentData.isChanged === 'Y') || refreshType === 'cut')) {
        if (currentData.reqLevel === level || refreshType === 'cut') {
          currentData.treeSort = num1 === 1 && refreshType !== 'cut' ? pasteLastObj.treeSort + 1 : currentData.treeSort + 1;
          currentData.isChanged = 'Y';
        } else {
          currentData.treeSort = _sortId + 1;
          currentData.isChanged = 'Y';
        }
      }
      _sortId++;
    }
  }
}

优化说明:

  1. 使用 for 循环代替 if 语句的多层嵌套,减少代码的复杂度。
  2. 将 griddata[i] 赋值给一个常量 currentData,减少代码中的重复读取,提高代码的可读性和执行效率。
  3. 将 if 语句中的逻辑条件提取出来,分别进行判断,减少嵌套的层数,提高代码的可读性。
  4. 对于变量名的命名,尽量使用语义化的名称,方便理解和维护代码。

优化后的代码 通过使用 for 循环遍历 griddata 数组,并使用常量 currentData 来存储当前元素,简化了代码结构,同时提高了可读性和效率。

总结: 优化后的代码更易于理解和维护,并且提高了代码的执行效率。建议在编写代码时,尽量采用简洁、可读性强的代码风格,以提高代码质量。

优化 JavaScript 代码:树形结构数据排序

原文地址: http://www.cveoy.top/t/topic/lrnH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录