Вернуть массив заданного размера
Нужно чтобы число, передаваемое в функцию указывало на ее размер. Ф-ция должна вернуть массив заданной размерности, каждым элементом которого будет ф-ция, которая возвращает свой индекс в массиве.
Пример работы: 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, время: 06:12. |