【发布时间】:2018-03-20 04:46:26
【问题描述】:
我想将 2 个数组相乘以产生混合减少。我将此与使用 FOIL 方法进行比较,将多项式之间的括号项展开和分配为代数中的组合表达式。
我希望避免编写 foreach 循环,即使它自动适用于任何数组长度,并且对我想要创建的每个数组混合都这样做。
我还想避免通过迭代第一个数组、组合第二个数组中的项、然后以某种方式在此过滤器段中执行总组合来创建一些结果数组,最后可能需要一个 flatten 指令。对于我需要的东西,这似乎是太多的步骤,并且可以更简洁地表示。可能是* 运算符?
我开始认为第二种方法是我需要做的,因为我可能不想“乘以”这些术语,而是创建一个新数组或对象以在处理其余任务时使用。
我的问题开始听起来像是在问如何在 jq 中使用过滤器和仅数据元素输入双 foreach 循环,而不是实际的 foreach 循环?
在我的示例中,我基本上想使用 2 个数组,每个数组都包含一对用于枚举状态的术语,以创建一个结果数组,使我可以遍历总共 4 个案例。这类似于组合的计算方式。
有人知道我在说什么吗? :)
【问题讨论】:
标签: arrays json operators jq cartesian-product