Learn how common array functions-map () and filter ()-is syntactic sugar for reduce operations. Learn how to using them, how to compose them, and how with reduce can give you a big performance boost over composing filte RS and maps over a large data set.
vardata = [1, 2, 3];vardoubled = Data.reduce (function(ACC, value) {Acc.push (value* 2); returnacc;}, []);vardoublemapped = Data.map (function(item) {returnItem * 2;});varData2 = [1, 2, 3, 4, 5, 6];varEvens = Data2.reduce (function(ACC, value) {if(value% 2 = = = 0) {Acc.push (value); } returnacc;}, []);varevenfiltered = Data2.filter (function(item) {return(item% 2 = = = 0);});varfiltermapped = Data2.filter (function(value) {returnValue% 2 = = = 0;}). Map (function(value) {returnValue * 2;});
About Big Data:
varBigdata = []; for(vari = 0; i < 1000000; i++) {Bigdata[i]=i;} Console.time (' Bigdata ');varFiltermappedbigdata = Bigdata.filter (function(value) {returnValue% 2 = = = 0;}). Map (function(value) {returnValue * 2;}); Console.timeend (' Bigdata '); 79ms Console.time (' Bigdatareduce ');varReducedbigdata = Bigdata.reduce (function(ACC, value) {if(value% 2 = = = 0) {Acc.push (value* 2); } returnacc;}, []); Console.timeend (' Bigdatareduce '); 54ms
Because map and filter each would go thought the array, but reduce only go thought once.
[Javascript] Introducing Reduce:common Patterns