हमें संख्याओं की एक विशाल सरणी के योग के लिए प्रत्येक () और कम () के लिए ES6 कार्यों द्वारा लिए गए समय की तुलना करने की आवश्यकता है।
चूंकि हमारे यहां संख्याओं की एक विशाल सरणी नहीं हो सकती है, हम बड़ी संख्या में (पुनरावृत्तियों) के लिए योग संचालन करके सरणी के परिमाण का अनुकरण करेंगे
उदाहरण
आइए इसके लिए कोड लिखें -
const arr = [1, 4, 4, 54, 56, 54, 2, 23, 6, 54, 65, 65]; const reduceSum = arr => arr.reduce((acc, val) => acc + val); const forEachSum = arr => { let sum = 0; arr.forEach(el => sum += el); return sum; }; const iterations = 1000000000; console.time('reduce'); for(let i = 0; i < iterations; i++){ let sumReduce = reduceSum(arr); }; console.timeEnd('reduce'); console.time('forEach'); for(let j = 0; j < iterations; j++){ let sumForEach = forEachSum(arr); }; console.timeEnd('forEach');
आउटपुट
कंसोल में आउटपुट निम्नलिखित है -
reduce: 19.058s forEach: 45.204s
तो मोटे तौर पर, Array.prototype.reduce() द्वारा लिए गए समय का Array.prototype.forEach द्वारा लिए गए समय का अनुपात 1 :1.4
है।