对于数组a的元素上的关联操作f,以下关系应该为真:a.reduce(f)应等于a.reduceRight(f)。 事实上,它确实适用于同时具有关联性和可交换性的操作。对于 例如: var a = [1,2,3,4,5,6,7,8,9,0];
alert(a.reduce(add) === a.reduceRight(add));
function add(a, b) {
这个问题感觉应该比我做得更简单,所以我的最终问题是:有没有更简单的方法来做到这一点?在逻辑上,我们知道 A v B = B v A
但是在自然演绎中,我们使用v-Introductions,RAA等来证明这些等价。在解决实践问题的过程中,我遇到了证明这种交换性质的需求,但是我发现它非常困难。在我看来,证据将如此开始: 1. A v B given
2. ¬(B v A) assume