我有一个像这样的二维数组
array(
array(
'column1' => 10,
'column2' => 11
),
array(
'column1' => 25,
'column2' => 137
),
array(
'column1' => 21,
'column2' => 58
)
)
键column1
和column2
是固定的。它们不会改变。
我需要对这个二维数组中的数据执行各种功能。各种功能可以按两种方式分组:
- 逐行优先
- 列优先
Row-wise first 函数的示例,
在乘以列之前,我想先按行汇总所有数字。
所以预期的行为是 (10+11) * (25+137) * (21+58)
列式第一个函数的示例,
在乘以行之前,我想先按列对所有数字求和。
所以预期的行为是 (10+25+21)*(11+137+58)
我写出自己的组件函数没有问题。在上面,我只需要两个组件函数 sum 和 product
function sum (adden1, adden2) {
return adden1 + adden2;
}
function product (multiplicant1, multiplicant2) {
return multiplicant1 * multiplicant2;
}
问题是映射。我想减少我需要编写的 for 循环的数量。我希望我的代码更加模块化,因为在某些情况下所需的行为如下:
- 对每一行 100-(column1+column2) / column2 执行此操作,然后总结所有结果。
我需要处理的公式太多。但我非常有信心,基本上这都是先行先行或先行先行的混合。
希望得到一些关于将值映射到函数的建议。
更新:
最终我重新设计了我的架构来解决这个问题。所以这个问题不再适用于我。