美文网首页
数组的解构赋值思考

数组的解构赋值思考

作者: 景阳冈大虫在此 | 来源:发表于2021-12-16 14:32 被阅读0次

    事情是这样的,今日突发奇想心血来潮想做反转二叉树
    然后我就这么想当然地写了

    • 错误示例
    var invertTree = function(root) {
      if (!root) return root;
      root.left = invertTree(root.right);
      root.right = invertTree(root.left);
      return root;
    };
    

    然后我发现结果不对

    • 正解
    var invertTree = function(root) {
      if (!root) return root;
      [root.left,root.right] = [invertTree(root.right),invertTree(root.left)];
      return root;
    };
    
    • babel转换

      可以看到数组的解构赋值,是把结果都算完了才一一赋值,而不是算一个赋值一个。
    • 不用数组结构的写法
    var invertTree = function(root) {
      if (!root) return root;
      const right = invertTree(root.right);
      const left = invertTree(root.left);
      root.left = right;
      root.right = left;
      return root;
    };
    

    相关文章

      网友评论

          本文标题:数组的解构赋值思考

          本文链接:https://www.haomeiwen.com/subject/bvlvfrtx.html