问题标签 [flatten]

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 投票
5 回答
129 浏览

php - 部分展平多维数组

什么是转换数组的好方法,如下所示:

0 投票
7 回答
20672 浏览

c# - 使用 AutoMapper 展平嵌套对象的更好方法?

我一直在将域对象扁平化为 DTO,如下例所示:

我看过一些例子,到目前为止,这似乎是扁平化嵌套层次结构的方法。但是,如果子对象具有许多属性,则此方法不会节省太多编码。

我找到了这个例子:

http://consultingblogs.emc.com/owainwragg/archive/2010/12/22/automapper-mapping-from-multiple-objects.aspx

但它需要 Map() 函数所需的映射对象的实例,据我了解,它不适用于配置文件。

我是 AutoMapper 的新手,所以我想知道是否有更好的方法来做到这一点。

0 投票
1 回答
955 浏览

java - 使用 Java XML 注释将列表另存为字符串

我需要使用 Java 的 XML 注释将一些变量保存在一个简单的类中:http: //download.oracle.com/javase/6/docs/api/javax/xml/bind/annotation/package-summary.html

目前该类非常简单,如下所示:

现在我需要将列表的数据保存为带有注释的字符串变量,如现有的。我给构造函数某种列表,比方说

问题是,如何从中提取所有变量,并使用给定的 XML 注释保存它们的 toString() 表示。如果可以假设这更简单,我会得到一个字符串列表。

有人可以帮我吗?

0 投票
1 回答
132 浏览

prolog - 列出转换

我是 prolog 的新手,我正在尝试扁平化一个列表,如下所示:

所需的输出是:

我怎样才能做到这一点?

0 投票
2 回答
1737 浏览

php - Flatten Array:保持索引,值等于数组中的位置

我在尝试以特定方式展平数组时遇到了一些麻烦。

这是print_r我要展平的阵列的视图:

我试图创建的是一个保留上述索引的数组,但该值等于它在数组中的位置,很像原始索引(从零开始)。

这是期望的结果:

明知,17 到 20 人失踪了。

我的功能如下:

这条线$result = array_merge(array_flatten($index), $result);似乎是问题所在。它返回:

但是,如果我var_dump(array_flatten($index));在同一行上运行,它会返回我希望合并到$result变量的所有数组。

似乎这array_merge实际上并没有合并这些数组。

有什么我做错了吗?任何指导的话都非常感谢。谢谢你。

更新

解决了!

完成所需的功能如下:

0 投票
1 回答
126 浏览

python - 在 python 中维护可回滚的代码流,无需极端识别

我遇到了这样一种情况,我正在处理一段代码,在该代码中我命令对远程对象进行更改(即我无法复制以在克隆上工作的代码),然后要求远程对象在新状态并通过一系列相反的命令恢复我对其所做的所有更改。问题是,如果在所有这些更改中遇到错误,我希望能够回滚到目前为止所做的所有更改。

我想到的最合适的解决方案是 python try-finally 工作流程,但是当命令序列很长时,它会出现相当大的问题:

这样,我需要的命令越多,我的缩进和嵌套就越深,我的代码可读性就越低。我考虑过其他一些解决方案,例如维护一个堆栈,对于每个命令,我都会推送一个回滚操作,但这可能会变得相当复杂,而且我不喜欢将绑定方法推送到堆栈中。我还考虑过为我执行的每个操作增加一个计数器,然后根据计数器最终决定我想要的回滚类型,但同样,此类代码的可维护性变得很痛苦。

我在搜索“事务”和“回滚”时获得的大多数点击都与数据库相关,并且不太适合更通用的代码......任何人都知道如何系统地平息这种暴行?

0 投票
2 回答
1046 浏览

ruby-on-rails - 将具有 has_one 关联的 Activerecord 结果转换为每条记录的单个哈希

如果我有来自 Activerecord 的结果,我有一个散列数组,如果我已经预先加载了 has_one 关联,则每个记录散列都有其关联记录的嵌套散列。

我的问题是,是否有一种快速的 rails 方法可以让您将这些嵌套的哈希合并到每条记录的单个哈希中?

一个类比是将记录和关联转换为单个表行。

另一个类比是将 n 级嵌套散列的散列转换为单级散列。

0 投票
0 回答
222 浏览

python - Python中具有不可迭代类型的列表列表?

可能重复:
在 Python 中展平(不规则)列表列表

我在 SO 上看到了很多“如何展平列表列表”的问题,但我的问题仍然存在问题。我有一个具有不可迭代类型的列表列表,例如 NumPy float64 对象和整数。我的基本数据结构如下所示:

我一直在尝试像这样扁平化我的列表:

此代码抛出Type Errorfloat64 和整数不可迭代。如何展平具有不可迭代数据类型的列表?我想要的输出是:

谢谢您的帮助。

0 投票
10 回答
83608 浏览

c# - 如何在一维数组中“展平”或“索引”3维数组?

我正在尝试将 3D 阵列展平为 1D 阵列,用于我的游戏中的“块”系统。这是一个 3D 块游戏,基本上我希望块系统与 Minecraft 的系统几乎相同(但是,无论如何,这不是 Minecraft 克隆)。在我之前的 2D 游戏中,我使用以下算法访问了扁平数组:

但是,这显然不适用于 3D,因为它缺少 Z 轴。我不知道如何在 3D 空间中实现这种算法。宽度、高度和深度都是常数(宽度与高度一样大)。

只是x + y*WIDTH + Z*DEPTH吗?我的数学很差,我刚刚开始 3D 编程,所以我很迷茫:|

PS。这样做的原因是我正在循环并通过索引从中获取很多东西。我知道一维数组比多维数组更快(出于我不记得的原因:P)。尽管这可能不是必需的,但我希望性能尽可能好:)

0 投票
1 回答
352 浏览

xslt - 极限 XSLT XML 扁平化

我有以下输入 XML 文件:

我想使用 XSLT 将其转换为以下输出:

输出 1

输出 2

谁能帮助我的 XSLT 不是很强大。谢谢。