Идея в том чтобы измеряемое время выполнения для разных массивов записать в разные перменные. Из идей присвоить каждой переменной id и в функцую передавать id, и уже по нему передавать данные в глобальную переменную, но почему-то есть ощущение что всё можно сделать гораздо проще.
let arr100 = [];
let arr200 = [];
let arr500 = [];
let arr1000 = [];
let arr5000 = [];
let arr10000 = [];
let arr25000 = [];
let arr50000 = [];
let arr100000 = [];
createArr(100, arr100);
createArr(200, arr200);
createArr(500, arr500);
createArr(1000, arr1000);
createArr(5000, arr5000);
createArr(10000, arr10000);
createArr(25000, arr25000);
createArr(50000, arr50000);
createArr(100000, arr100000);
function createArr(arrLength, arr){
for(let i = 0; i < arrLength; i++){
let rFloat = getRandomFloat(-200, 200);
let toAdd = rFloat.toFixed(2);
arr.push(toAdd);
}
}
function getRandomFloat(min, max) {
return Math.random() * (max - min) + min;
}
let timeMaxElemArr100;
let maxArr100 = getMaxElem(arr100, timeMaxElemArr100);
let timeMaxElemArr200;
let maxArr200 = getMaxElem(arr200, timeMaxElemArr200);
let timeMaxElemArr500;
let maxArr500 = getMaxElem(arr500, timeMaxElemArr500);
let timeMaxElemArr1000;
let maxArr1000 = getMaxElem(arr1000, timeMaxElemArr1000);
let timeMaxElemArr5000;
let maxArr5000 = getMaxElem(arr5000, timeMaxElemArr5000);
let timeMaxElemArr10000;
let maxArr10000 = getMaxElem(arr10000, timeMaxElemArr10000);
let timeMaxElemArr25000;
let maxArr25000 = getMaxElem(arr25000, timeMaxElemArr25000);
let timeMaxElemArr50000;
let maxArr50000 = getMaxElem(arr50000, timeMaxElemArr50000);
let timeMaxElemArr100000;
let maxArr100000 = getMaxElem(arr100000,timeMaxElemArr100000);
function getMaxElem(arr, timeMaxElemArrN) {
const t0 = performance.now();
let maxElem = arr.reduce(function (accumulator, currentValue, index){
if (accumulator < currentValue) {
return currentValue;
}
else return accumulator;
})
const t1 = performance.now();
timeMaxElemArrN = t1 - t0;
return maxElem;
}