Введение
В этом практическом занятии мы изучим функцию indexBy в JavaScript, которая создает объект из массива на основе заданной функции. Цель этого практического занятия — помочь вам понять, как использовать Array.prototype.reduce() и как применить функцию к каждому значению массива, чтобы получить пару ключ-значение. В конце этого практического занятия вы сможете использовать indexBy для сопоставления значений массива с ключами и создания нового объекта.
Функция для индексирования массива
Для индексирования массива с использованием функции следуйте шагам:
- Откройте Терминал/SSH и введите
node, чтобы начать практиковаться в написании кода. - Используйте
Array.prototype.reduce(), чтобы создать объект из массива. - Примените заданную функцию к каждому значению массива, чтобы получить ключ, и добавьте пару ключ-значение в объект.
Вот пример кода:
const indexBy = (arr, fn) =>
arr.reduce((obj, v, i) => {
obj[fn(v, i, arr)] = v;
return obj;
}, {});
Вы можете использовать эту функцию следующим образом:
indexBy(
[
{ id: 10, name: "apple" },
{ id: 20, name: "orange" }
],
(x) => x.id
);
// { '10': { id: 10, name: 'apple' }, '20': { id: 20, name: 'orange' } }
Эта функция создает объект из массива, сопоставляя каждое значение с ключом с использованием заданной функции. Результирующий объект содержит пары ключ-значение, где ключи создаются функцией, а значения — исходные элементы массива.
Резюме
Поздравляем! Вы завершили практическое занятие по индексированию массива на основе функции. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.