Answer

Answer

t.me/js_test

Ответ:

b

Объяснение:

У нас есть два объекта с абсолютно одинаковыми свойствами и значениями.

Когда bустанавливается, b[arr[i]]свойство устанавливается на текущий индекс на каждой итерации. Когда а устанавливается, spread-оператор...) будет создавать мелкую копию объекта аккумулятора ( acc) на каждой итерации и дополнительно устанавливать новое свойство. Эта неглубокая копия дороже, чем не выполнение неглубокой копии.

 a требует создания 2 промежуточных объектов до достижения конечного результата, тогда как b не создает никаких промежуточных объектов. Поэтому b создается более эффективно.

Код для проверки:

const arr = [1, 2, 3];

const a = arr.reduce(
 (acc, el, i) => ({ ...acc, [el]: i }),
 {}
);

const b = {};
for (let i = 0; i < arr.length; i++) {
 b[arr[i]] = i;
};

Report Page