问题标签 [destructuring]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2012 浏览

lisp - 在解构绑定中声明未使用变量的任何好方法?

我想不通,有没有办法在 erlang 中放入类似 _ 的东西,用于解构绑定中的“未使用值”?

例如,我们有类似的东西:

最好不要为每个未使用的值放置特定变量,并编写如下内容:

有没有办法使用标准解构绑定或任何其他标准宏来获得这种行为?或者我必须使用一些类似 ML 的模式匹配库,如果是这样 - 哪个?

0 投票
1 回答
137 浏览

clojure - Clojure - 如何将两个/多个映射合并到一个映射中,这些映射对于某些键具有相同的值

我正在学习如何在 Clojure 中惯用地破坏数据结构,目前有以下示例数据

数据:

我想将两个/多个地图合并到一个地图中,这些地图属于上述数据中的同一类别,

预期输出:

我试过 group-by 这给了我

但这有很多冗余信息,例如:category "A"存在于所有地图中,并且输出的格式不是我想要的方式。

在此先感谢您的帮助。

0 投票
11 回答
67542 浏览

javascript - 单行从 ES 6 中的对象获取一些属性

如何编写一个函数,在 ES6 中以最紧凑的方式只需要很少的属性?

我想出了使用解构+简化对象文字的解决方案,但我不喜欢在代码中重复该字段列表。

有没有更苗条的解决方案?

0 投票
4 回答
931 浏览

list - 在 Groovy 的多重赋值中获取列表的尾部

Groovy 中的列表解构(多重赋值)可用于将值绑定到列表中的变量。例如:

是否有一种语法方式来实现以下目标:

如果不是,那么实现相同结果的最接近/最常规的方法是什么,最好是在单个表达式中?

0 投票
0 回答
70 浏览

javascript - 是否可以对“this”字段使用解构​​赋值?

我有一个函数可以改变两个参数并返回对象

和一个使用这些数据的函数:

我想要的是使用解构赋值。我尝试了这些尝试:

这很好用。还

当然工作正常。问题是是否可以在对对象进行解构赋值时使用“this”,以及如何正确使用它。

0 投票
3 回答
99 浏览

javascript - 引人注目的 ECMAScript 6 解构用例

为什么将解构引入 ECMAScript 6?

0 投票
1 回答
528 浏览

clojure - 使用 as-binding 解构可变参数函数:不可能吗?

直到现在,我一直认为你可以在let绑定中做的任何事情,你都可以在defn表单的参数向量中做。

但是,我刚刚注意到这一点——如果我使用let绑定执行此操作,它会起作用:

但是,如果我尝试将其拉出到函数中,则会出现异常:

值得注意的是,这有效:

但是我必须将参数作为集合传递,即(foo [1 2 3]).

是否可以定义一个接受可变数量参数的函数,并将整个参数组绑定到一个局部变量,而无需let在内部专门使用绑定?让我感到奇怪的是,您不能只做(defn foo [x & more :as full-list] ...这件事不起作用(或不应该)有什么特别的原因吗?

0 投票
1 回答
70 浏览

map - 有没有办法让地图的 Clojure 向量上的地图使用破坏性绑定?

我正在使用这段代码:

我认为有一种方法可以使用破坏性绑定使其更短。

我的问题是:有没有办法让地图的 Clojure 向量上的地图使用破坏性绑定?

0 投票
2 回答
173 浏览

clojure - 根据预期键过滤地图

在我的 Clojure webapp 中,我有各种模型命名空间,其中包含将地图作为 agrument 并以某种方式将该地图插入数据库的函数。在插入之前,我希望能够从地图中只取出所需的键。

一个基本的例子是:

select-keys当地图有些复杂并且我想选择一组特定的嵌套键时,这不是一个选项:

有没有办法用核心功能做到这一点?有没有办法纯粹通过解构来做到这一点?

0 投票
1 回答
218 浏览

javascript - Parse.com CloudCode 中的解构赋值

我正在尝试在 Parse.com 上的 Cloud Code 中使用解构赋值,但是当我运行代码时,编译器给了我这个错误:

我的代码是这样的:

例如 foo 实现如下:

在很多浏览器中,这段代码运行良好,但是......在 Parse Cloud Code 中我仍然有这个错误。

我如何在这里使用解构赋值?PS:我宁愿只使用一个指令来做到这一点。