برای راحتی کار خود شروع به نوشتن چند متد ساده می کنیم
function getNowTime(){ return Date.now() } function calculateRunTime (callBack){ var startTime = getNowTime(); callBack(); return getNowTime() - startTime; }
ابتدا با استفاده از کتابخانه math ارایه ای به تعداد ۱ میلیون خانه از اعداد رندوم ایجاد میکنیم .
var randomNumbers = []; for(var i = 0; i< 10000000; i++){ randomNumbers.push(Math.random()*1000); }
بعد از ایجاد ارایه با متد های مختلف شروع به پیمایش آرایه میکنیم .
روش اول با استفاده از حلقه ساده for:
function forMethod(){ var forNumbers = []; for(var i = 0; i< randomNumbers.length; i++){ forNumbers.push(randomNumbers[i]); } return forNumbers; } console.log('simple for: ', calculateRunTime( forMethod) )
روش دوم با استفاده از تابع map:
function mapMethod (){ var mapNumbers = []; var cloneRandomNumbers = randomNumbers.map((randomNumber)=>{ mapNumbers.push(randomNumber); }) return mapNumbers; } console.log('standard map: ', calculateRunTime( mapMethod) )
روش سوم با استفاده از تابع foreach:
function forEachMethod (){ var forEachNumbers = randomNumbers.forEach((randomNumber)=>{ return randomNumber; }) return forEachNumbers; } console.log('foreach: ', calculateRunTime( forEachMethod) )