Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Вернуть массив заданного размера (https://javascript.ru/forum/misc/84145-vernut-massiv-zadannogo-razmera.html)

рони 15.06.2022 18:13

NovichokJS,
что-то не так?

NovichokJS 15.06.2022 18:42

Цитата:

Сообщение от рони (Сообщение 546177)
NovichokJS,
что-то не так?

да, уточню условие - https://prnt.sc/g-dG5cNM5Pod

рони 15.06.2022 18:58

NovichokJS,
добавьте проверку числа в любой из предложенных выше вариантов, самостоятельно.
а лучше исправьте ошибки в строках 1, 5, 6, и будет вам счастье.
const createArrOfFunc = num => {

    let arr = [];
    if (typeof number !== 'number') { return null; }
    for (let i = number; i < number; i += 1) {
        function func(i) {
            return i;
        }
        arr.push(func);
    }
    
    return arr;
}

NovichokJS 15.06.2022 19:17

Рони, поправил:
const createArrOfFunc = number => {
    let arr = [];
    if (typeof number !== 'number') { return null; }
    if (number != undefined) {
        for (let i = 0; i < number; i += 1) {
            function func(i) {
                return i;
            }
            arr.push(func);
        }
    } else { return []; }

    return arr;
}


но не знаю как в шестой строке поправить. Подскажите пожалуйста

рони 15.06.2022 19:23

Цитата:

Сообщение от NovichokJS
но не знаю как в шестой строке поправить.

уберите лишний символ

рони 15.06.2022 19:25

NovichokJS,
да и надо было только, исправить ошибки, а не добавлять код)))

NovichokJS 15.06.2022 19:26

Цитата:

Сообщение от рони (Сообщение 546181)
уберите лишний символ

аа...я понял просто func()

NovichokJS 15.06.2022 19:27

но единственное теперь осталось - это путой массив всё равно что-то не возвращает.

NovichokJS 15.06.2022 19:34

как тут корректно описать логику что если аргумент не передан то вернуть пустой массив

рони 15.06.2022 19:34

NovichokJS,
const createArrOfFunc = (number = 0) => {
    if (typeof number !== 'number') { return null; }
    let arr = [];
    for (let i = 0; i < number; i += 1) {
        function func() {
            return i;
        };
        arr.push(func);
    }

    return arr;
}
console.log(createArrOfFunc(9)[5]());
console.log(createArrOfFunc());
console.log(createArrOfFunc('test'));


Часовой пояс GMT +3, время: 08:35.