Вернуть массив заданного размера
Нужно чтобы число, передаваемое в функцию указывало на ее размер. Ф-ция должна вернуть массив заданной размерности, каждым элементом которого будет ф-ция, которая возвращает свой индекс в массиве.
Пример работы: createArrayOfFunctions(9)[5](); // 5 Помогите плиз, пытаюсь сделать, получаю пустой массив: 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; } |
Цитата:
const createArrOfFunc = length => { let arr = Array.from({ length }, _ => function fn() { return arr.indexOf(fn) }) return arr; } let a = createArrOfFunc(5); alert(a[2]()); |
Цитата:
|
const createArrOfFunc = length => Array.from({length}, (_, v) => _ => v); :dance: |
рони, мне показалось ты малость перемудрил... :)
const createArrOfFunc = length => { let arr = Array.from( {length}, (val, i) => _ => i ) return arr; } let a = createArrOfFunc(5); alert(a[2]()); |
Опередили... :(
|
Цитата:
Цитата:
const createArrOfFunc = length => { let arr = Array.from( {length}, (val, i) => _ => i ) return arr; } let a = createArrOfFunc(5); a.splice(2, 1); alert(a[2]()); |
рони, вона ты докуда занырнул! :victory:
|
Цитата:
При выполнении вашего кода получается массив из анонимных функций: [ [Function (anonymous)], [Function (anonymous)], [Function (anonymous)], [Function (anonymous)] ] 3 |
Функция может либо иметь имя, либо быть анонимной.
А какие имена должны быть у этих функций? Так размер массива или размерность? [0,1,2,3,4] - это массив размерности 1 (размер - 5) [ [1,2,3], [4,5,6], [7,8,9] ] - это массив размерности 2 |
Часовой пояс GMT +3, время: 23:13. |