@qghoul666
Студент 4 курса. Back-end. Java. Spring.

Как создать функцию, которая может изменять передаваемую в неё глобальную перменную JS?

Идея в том чтобы измеряемое время выполнения для разных массивов записать в разные перменные. Из идей присвоить каждой переменной 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;
    }
  • Вопрос задан
  • 72 просмотра
Пригласить эксперта
Ответы на вопрос 1
@awenn2015
Веб-программист самоучка
Учитывая что в js нельзя передавать переменную по ссылке через & то сомневаюсь, хотя могу ошибаться
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы