please help me with below code.I did not understand the functioning of return function(object1,object2).How does the return function in create comparison function() get its parameters.?
var data = [{ name: "Zachary", age: 28}, {name: "Nicholas", age: 29}];
function createComparisonFunction( propertyName)
{
return function( object1, object2)
{
var value1 = object1[ propertyName];
var value2 = object2[ propertyName];
if (value1 < value2)
{
return -1;
}
else if (value1 > value2)
{
return 1;
}
else
{
return 0;
}
};
}
data.sort( createComparisonFunction(" name"));
alert( data[ 0]. name); // Nicholas
data.sort( createComparisonFunction(" age"));
alert( data[ 0]. name); // Zachary