Gists
This is an important point for using reduceRignt with and without v8 runtime for Google Apps Script.
Sample script
function myFunction() {
var array = ["a", "b", "c", "d", "e"];
var res = array.reduceRight(function (ar, e, i) {
ar.push([e, i]);
return ar;
}, []);
Logger.log(res);
}
Result
With V8
When V8 runtime is used, the following result is obtained.
[["e",4],["d",3],["c",2],["b",1],["a",0]]
Without V8
When V8 runtime is NOT used, the following result is obtained.
[["e",0],["d",1],["c",2],["b",3],["a",4]]
Summary
When above results are compared, it is found that the indexes are different. The indexes of “With V8” is in the opposite direction to that of “Without V8”. Please be careful this.