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

list - 如果嵌套列表有 1 个元素,如何删除 Scheme 中嵌套列表中的括号?

说我有清单:(a b ((c)) (d + e) ((e + f)) (g) () h)

如何获得以下列表(最好带有函数):(a b c (d + e) (e + f) g h)

换句话说:

  • 如果嵌套列表只有一个元素,则将其简化为该元素。在上面的示例中,这((c))被简化为 c 。也((e + f))变成了(e + f)

  • 如果嵌套列表有多个元素,则它保持不变。与上面的示例(d + e)一样(d + e)

  • 如果嵌套列表为空,则将其简单地删除。

最后,我不确定扁平化一词是否适用于这种情况。我希望我的问题很清楚。如果没有,请告诉我。

提前致谢!

0 投票
1 回答
701 浏览

draw - CCNode-visit-function 复制 CCSprite 有一个黑暗的边缘

我有一个关于 CCNode 的 [visit] 功能的问题

原图很好,轮廓清晰,没什么特别的,里面是由5个叶子精灵组成的。

屏幕截图:

http://farm7.static.flickr.com/6107/6248992365_eab5346264_o.png

然后我想用【CCNode访问】来复制它。

这是代码

通过这个功能,我可以通过限制舞台上存在的精灵的数量来优化应用程序的性能,但是“复制的精灵”在它周围有一个黑暗的边缘。它看起来很奇怪——尤其是当精灵相互重叠时。

请告诉我您是否有任何线索/在任何地方获得有关此黑暗边缘问题的有用信息

0 投票
10 回答
22250 浏览

javascript - 如何在jQuery中展平数组?

如何在 jQuery 中简单地展平数组?我有:

而且我要:

0 投票
1 回答
2568 浏览

javascript - 如何在javascript中展平包含对象的多维数组

我有一个包含对象的多维数组..我怎样才能展平它

0 投票
7 回答
7390 浏览

list - 如何在没有强制的情况下将列表展平为列表?

我正在尝试实现类似于 unlist 的功能,但类型不会被强制转换为向量,而是返回具有保留类型的列表。例如:

应该返回

代替

这将由unlist(list(list(NA, list("TRUE", list(FALSE), 0L)).

从上面的例子可以看出,展平应该是递归的。标准 R 库中是否有一个函数可以实现这一点,或者至少有一些其他函数可以用来轻松有效地实现这一点?

更新:我不知道从上面是否清楚,但非列表不应该被展平,即flatten(list(1:3, list(4, 5)))应该返回list(c(1, 2, 3), 4, 5)

0 投票
3 回答
2375 浏览

scala - 在Scala中将地图展平为可变参数字符串列表

Java 事件日志(分析)库有一个方法,该方法接受事件名称和字符串的可变参数列表,如下所示:

我已经将我的事件参数收集到一个像这样的地图中

现在必须有一种方法来展平Map键和值交替的列表,然后将其提供给事件方法。我有几个猜测,比如将 转换为s 的Map列表,但调用 .flatten 表示ListTuple

我在这里想念什么?

0 投票
1 回答
1556 浏览

php - 在 PHP 中将多维关联数组展平为一维引用数组

鉴于我有一个数组:

我想将其“展平”为引用的单维查找,将键与分隔符连接起来(在本例中为正斜杠/

对成功的输出执行 avar_dump()将产生:(注意所有参考资料

就目前而言,我正在使用这个:

但是,我试图通过删除递归元素来改进它(切换到堆栈/弹出方法)这样做的问题是引用保存,作为典型的递归到非递归方法:

...失败与参考。

我在 SO 上看到了一些类似的问题/答案,但没有一个与参考资料有关(因为这不是提问者的意图

这里有更好的(阅读速度更快)方法吗?


最终解决方案(感谢@chris):

0 投票
2 回答
270 浏览

c# - 在捕获索引时使用 LINQ 展平列表

我有一个List<List<List<Foo>>>,我想把它展平到List<new {Foo, Ndx}>Ndx 是最外层列表的索引。例如,如果我有类似的东西:

对于“a”、“b”和“c”,我的 Ndx 可能最终为 0,而“x”和“y”的 Ndx 为 1。有人有 LINQ 解决方案吗?

0 投票
2 回答
1013 浏览

java - 在 Java 中通过 XSLT 进行 XML 粉碎

我需要转换具有嵌套(分层)结构的大型 XML 文件

成更扁平(“切碎”)的形式,每个重复的嵌套块有 1 个块。

数据有许多不同的标签和层次结构变化(尤其是在分层 XML 之前和之后的碎 XML 的标签数量方面),因此理想情况下不应该对标签和属性名称或层次级别做出假设。

只有 4 个级别的层次结构的顶级视图看起来像

然后所需的输出将是

也就是说,如果在每个级别i都有Li不同的组件,那么总共Product(Li)会产生不同的组件(仅以上 2 个,因为唯一的区别因素是级别 4,所以L1*L2*L3*L4 = 2)。

从我所看到的情况来看,XSLT 可能是要走的路,但任何其他解决方案(例如,StAX 甚至 JDOM)都可以。

使用虚构信息的更详细示例是

上面的数据应该被分解成 5 个块(即,每个不同的<Job>块一个),每个块都会使所有其他标签保持相同,并且只有一个<Job>元素。因此,给定<Job>上述示例中的 5 个不同块,转换后(“粉碎”)的 XML 将是

0 投票
1 回答
213 浏览

ssl - 这个erlang代码抛出异常,我不知道为什么

我正在使用 Windows 证书颁发机构 (AD CS) 为 RabbitMQ Windows 服务和客户端之间的安全连接中的参与者颁发证书。

我的客户端证书的主题是我在 LDAP 中的专有名称 (DN):“CN=John Ruiz,CN=Users,DC=devexample,DC=com”

当我尝试建立此连接时,服务器抛出异常并关闭连接,我在 rabbit 日志中看到了这个 erlang 堆栈跟踪:

查看堆栈跟踪中的最后两行,我发现涉及的两个文件:

  1. rabbit_ssl.erl
  2. rabbit_auth_mechanism_ssl.erl

问题是我以前既没有读过也没有写过erlang,所以我不知道为什么find_by_type会抛出异常。我最好的猜测是,由于相对 DN (RDN) 列表中有两个 CN=* 元素,因此调用 lists:flatten 的结果是一个数组,而预期的结果是一个标量。

熟悉erlang的人可以确认或更正我的假设吗?如果您看到可以改进此代码以处理我刚刚描述的情况(而不是抛出异常)的方法,我将非常感激,以便我可以在 RabbitMQ 邮件列表中提出建议。