问题标签 [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 投票
7 回答
68951 浏览

php - 将单元素数组的数组转换为一维数组

我有这种数组:

我需要将其转换为一维数组。我怎样才能做到这一点?

比如像这样。。

任何 php 内置功能都可用于此数组转换?

0 投票
1 回答
247 浏览

layer - 拼合图像层

我正在开发一个支持图层的基本图像编辑工具,我需要知道如何将图层合并为单个图像。显然,如果像素没有 alpha 值,那么无论哪个在上面获胜,但我不知道当像素有 alpha 值时该怎么办。所以这里的问题是:给定两个(或更多)像素使用 RGBA 值表示,我如何在这种情况下将它们合并为一个像素(层)?

TIA

0 投票
2 回答
10526 浏览

arrays - 如何在 Labview 中展平(重塑为一维)任意维度的数组

让 A 是一个任意维度的数组(在我的例子中是 2 或 3)。如何在不事先知道维数的情况下展平(重塑为 1D)这个数组?

如果我知道维数,我可以很容易地获得元素的总数(通过使用“数组大小”函数的组合),然后使用这个数字将 A 重塑为 1D。不幸的是,“数组大小”函数本身返回了一个数组,其元素数等于维数,这让我们回到了最初的问题。

我通过创建一个函数 (VI) “解决”了这个问题,该函数返回 3D 数组(我期望处理的最常见的数组类型)的元素总数,因此我可以将其作为参数提供给重塑功能。问题:它不会接受二维数组,即使算法可以使用这样的数组!(似乎在 Labview 中,数组控件对它们接受的维数非常严格,例如在 Matlab 中并非如此)。

一个不错的解决方案是将“数组大小”给定的数组的所有元素相乘以快速获得元素总数,而无需将其包装在子 VI 中。总的来说,没有简单有效的方法来解决这个问题吗?应该挺标准的。。

0 投票
7 回答
35865 浏览

list - 在 Prolog 中展平列表

我只用 Prolog 工作了几天。我明白一些事情,但这真的让我很困惑。

我想写一个函数来获取一个列表并将其展平。

该函数取出列表的内部结构。

这是我到目前为止所拥有的:

现在,当我打电话时这有效:

但是当我打电话查看我输入的列表是否已经展平时,返回false而不是true

为什么一方面有效,另一方面无效?我觉得我错过了一些非常简单的东西。

0 投票
2 回答
2175 浏览

php - 比这更容易展平或合并 php 数组的方法?

我有一个数组数组。

例如:

将其展平/合并到一个数组的最简单方法是什么?

结果应该是:

有没有比执行以下操作更容易/更简单的方法来获得这个结果?

0 投票
4 回答
5618 浏览

ocaml - 在 Ocaml 中展平列表的代码错误

大家好,我正在尝试在 Ocaml 中展平一个列表。我是新手,如果我的错误很愚蠢,请原谅我

例如,如果输入是 [[1];[2;3];[4]] 我应该以 [1;2;3;4] 结尾。

我尝试使用的想法如下用accumaltor = []从右边遍历列表(使用fold_right)伪代码如下

我认为理论上该算法是正确的,但如果您不同意,请告诉我。

现在到我的 OCaml 代码来实现这个算法

我得到的错误是以下错误:此表达式的类型为 'a,但预期的表达式类型为

错误发生在 match 语句的最后一个模式中读取 head :: (my_flat acc remaining) 的行上

任何帮助表示赞赏。

0 投票
2 回答
252 浏览

scheme - 消除内括号会进入空列表并且不会消除使用 cons

目标是消除所有内括号。

(flatten '(a (bc) d)) 变成 '(abcd)

这是我在球拍中的代码

它在抱怨

这意味着我正在尝试访问一个carcdr列表。

跟踪代码很简单——一堆显示。

我不明白的是为什么第一个条件(null? slist)没有抓住空列表?我有两个递归调用。如果它确实捕获了空列表,它将进入下一个递归,即 list {d}

我的递归逻辑有什么问题?


更新版本

正如 Ross Larson 建议的那样, append 将使程序正常工作。但是为了学习,如果有人有空的话,我的测试结果只显示通过了基本案例(第二个和空列表)

我想过写一个包装函数来调用(cons (flatten slist) empty)

0 投票
2 回答
527 浏览

c# - 使用递归和泛型删除层次结构中的选定节点

我想用开放的 Generic 展平对象层次结构T

此链接Recursive List Flattening

展示了如何通过一个传递的 IEnumerable 来做到这一点。但我想展平传递的对象 T 和

它的属性 Children 以通用和递归的方式。

我传递给方法U1(选定节点),我想得到这个平面列表:

这可能以某种通用方式吗?

0 投票
2 回答
261 浏览

list - 在一维中变换 M 维列表

我是方案编程的新手,我正在学习基本算法,例如如何定义映射、追加等。

但是有一种算法我找不到实现。我谈到将 M 维列表转换为一维。我试图自己定义它,但没有成功。

我到底想要什么:

0 投票
2 回答
17734 浏览

r - 展平数据框

我有这个嵌套的数据框

我想要第二列中所有值的列表,即

有没有简单的方法来实现这一目标?