對於數組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