Вернуть массив заданного размера 
		
		
		
		Нужно чтобы число, передаваемое в функцию указывало на ее размер. Ф-ция должна вернуть массив заданной размерности, каждым элементом которого будет ф-ция, которая возвращает свой индекс в массиве. 
	Пример работы: 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  | 
	
		
 NovichokJS, 
	что-то не так?  | 
	
		
 Цитата: 
	
  | 
	
		
 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;
}
 | 
	
		
 Рони, поправил: 
	
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;
}
но не знаю как в шестой строке поправить. Подскажите пожалуйста  | 
	
		
 Цитата: 
	
  | 
	
		
 NovichokJS, 
	да и надо было только, исправить ошибки, а не добавлять код)))  | 
	
		
 Цитата: 
	
  | 
	
		
 но единственное теперь осталось - это путой массив всё равно что-то не возвращает. 
	 | 
	
		
 как тут корректно описать логику что если аргумент не передан то вернуть пустой массив 
	 | 
	
		
 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, время: 05:58. |