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

数组的解构赋值思考

作者: 景阳冈大虫在此 | 来源:发表于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;
};

相关文章

  • ECMAScript6 -- 解构赋值

    解构赋值 数组的解构赋值 对象的解构赋值 特殊: 数组的解构赋值 如果右边不是数组,默认转换为类数组 对象的解构赋...

  • ES6解构赋值、交换两个变量的值、设置函数默认值、模板字符串、箭

    1,解构赋值 解构赋值主要包括数组的解构赋值、对象的解构赋值、字符串的解构赋值、函数参数的解构赋值。 (1)数组的...

  • 解构赋值,设置函数默认值,箭头函数

    1,解构赋值 解构赋值主要包括数组的解构赋值、对象的解构赋值、字符串的解构赋值、函数参数的解构赋值。 (1)数组的...

  • 解构赋值

    解构赋值 解构赋值可分为数组解构赋值和对象解构赋值,数组解构赋值要求右侧必须可迭代(具有Iterator 接口),...

  • ES6 2.解构赋值

    解构赋值 解构赋值的分类 数组解构赋值 对象解构赋值 字符串解构赋值 布尔值解构赋值 函数参数解构赋值 数值解构赋...

  • ES6常用新特性3--解构赋值

    对象的解构赋值 数组的解构赋值

  • es6-解构赋值

    什么是解构赋值 左右一一对应进行赋值。 解构赋值的分类 数组解构赋值,左右都是数组 对象解构赋值,左右都是对象 字...

  • 字符串、解构赋值

    字符串 解构赋值 数组的结构赋值 对象的解构赋值 伪数组变真数组方法

  • ES6 语法(解构赋值)

    什么是解构赋值及用法 解构赋值分类:数组解构赋值对象解构赋值字符串解构赋值布尔值解构赋值函数参数解构赋值数值解构赋...

  • ES6变量的解构赋值

    目录 1、数组的解构赋值 2、对象的解构赋值 3、字符串的解构赋值 4、函数参数的解构赋值 5、用途 1、数组的解...

网友评论

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

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