Как проверить индекс функции в массиве функций в JavaScript [duplicate]


1 принят

Вы столкнулись с проблемой обзора.

Вот решение:

i

Вышеизложенное использует let, которое охватывает iпеременную для каждой итерации цикла.

Если вы не можете использовать из-за совместимости, используйте IIFE для каждого цикла:function createArrayOfFunctions(y) { var arr = []; for (var i = 0; i < y; i++) { (function() { var _i = i; arr[_i] = function(x) { return x + _i; }; })(); } return arr; }

i

Вышеприведенный код кэширует каждую iпеременную для каждого цикла в IIFE, который сохраняет его в области видимости.

JavaScript, массивы, массивы,

javascript,arrays,arrays,

-1

Ответов: 1


1 принят

Вы столкнулись с проблемой обзора.

Вот решение:

i

Вышеизложенное использует let, которое охватывает iпеременную для каждой итерации цикла.

Если вы не можете использовать из-за совместимости, используйте IIFE для каждого цикла:function createArrayOfFunctions(y) { var arr = []; for (var i = 0; i < y; i++) { (function() { var _i = i; arr[_i] = function(x) { return x + _i; }; })(); } return arr; }

i

Вышеприведенный код кэширует каждую iпеременную для каждого цикла в IIFE, который сохраняет его в области видимости.

JavaScript, массивы, массивы,
Похожие вопросы