blob: 9c440228e483efd93566c93c710109f387131c49 [file] [log] [blame]
//-------------------------------------------------------------------------------------------------------
// Copyright (C) Microsoft. All rights reserved.
// Licensed under the MIT license. See LICENSE.txt file in the project root for full license information.
//-------------------------------------------------------------------------------------------------------
function returnSum(w,x,y,z)
{
WScript.Echo("accumulator:" + w + " value:"+ x + " index:" + y + " Object:" + z);
return w + x;
}
function returnSquare(w,x,y,z)
{
WScript.Echo("accumulator:" + w + " value:"+ x + " index:" + y + " Object:" + z);
return w + x * x;
}
function returnStringSquare(w,x,y,z)
{
WScript.Echo("accumulator:" + w + " value:"+ x + " index:" + y + " Object:" + z);
return w + x + x;
}
function returnRandom(w,x,y,z)
{
WScript.Echo("accumulator:" + w + " value:"+ x + " index:" + y + " Object:" + z);
return w + x + y;
}
Array.prototype[6] = 20;
var x = [1,2,3,4,5];
var y = x.reduceRight(returnSum,0);
WScript.Echo(y);
x = [10,20,30,40,50];
y = x.reduceRight(returnSquare, 0);
WScript.Echo(y);
x = [10,20,30,40,50];
y = x.reduceRight(returnRandom);
WScript.Echo(y);
x = {0: "abc", 1: "def", 2: "xyz"}
x.length = 3;
y = Array.prototype.reduceRight.call(x, returnSum, "" );
WScript.Echo(y);
y = Array.prototype.reduceRight.call(x, returnStringSquare, "");
WScript.Echo(y);
y = Array.prototype.reduceRight.call(x, returnRandom, "");
WScript.Echo(y);
x = [10,20,30,40,50];
x[8] = 10;
y = x.reduceRight(returnSum, 30);
WScript.Echo(y);