Сопоставить массив с объектом

JavaScriptJavaScriptBeginner
Практиковаться сейчас

This tutorial is from open-source community. Access the source code

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы изучим, как сопоставить массив объектов с объектом с использованием предоставленных функций сопоставления. Мы будем использовать метод Array.prototype.reduce(), чтобы сопоставить массив, а функции mapKey и mapValue — чтобы сопоставить ключи и значения результирующего объекта соответственно. В конце этого практического занятия вы будете лучше понимать, как преобразовывать структуры данных в JavaScript.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL javascript(("JavaScript")) -.-> javascript/BasicConceptsGroup(["Basic Concepts"]) javascript(("JavaScript")) -.-> javascript/AdvancedConceptsGroup(["Advanced Concepts"]) javascript/BasicConceptsGroup -.-> javascript/variables("Variables") javascript/BasicConceptsGroup -.-> javascript/data_types("Data Types") javascript/BasicConceptsGroup -.-> javascript/arith_ops("Arithmetic Operators") javascript/BasicConceptsGroup -.-> javascript/comp_ops("Comparison Operators") javascript/AdvancedConceptsGroup -.-> javascript/higher_funcs("Higher-Order Functions") javascript/AdvancedConceptsGroup -.-> javascript/destr_assign("Destructuring Assignment") subgraph Lab Skills javascript/variables -.-> lab-28525{{"Сопоставить массив с объектом"}} javascript/data_types -.-> lab-28525{{"Сопоставить массив с объектом"}} javascript/arith_ops -.-> lab-28525{{"Сопоставить массив с объектом"}} javascript/comp_ops -.-> lab-28525{{"Сопоставить массив с объектом"}} javascript/higher_funcs -.-> lab-28525{{"Сопоставить массив с объектом"}} javascript/destr_assign -.-> lab-28525{{"Сопоставить массив с объектом"}} end

Как сопоставить массив с объектом в JavaScript

Чтобы сопоставить массив объектов с объектом в JavaScript, следуйте этим шагам:

  1. Откройте Терминал/SSH и введите node, чтобы начать практиковаться в написании кода.
  2. Используйте Array.prototype.reduce(), чтобы сопоставить массив с объектом.
  3. Используйте параметр mapKey, чтобы сопоставить ключи объекта, и параметр mapValue, чтобы сопоставить значения.

Вот пример кода, который демонстрирует, как использовать функцию objectify, чтобы сопоставить массив объектов с объектом:

const objectify = (arr, mapKey, mapValue = (i) => i) =>
  arr.reduce((acc, item) => {
    acc[mapKey(item)] = mapValue(item);
    return acc;
  }, {});

Затем вы можете использовать функцию objectify, чтобы сопоставить массив объектов с объектом следующими способами:

const people = [
  { name: "John", age: 42 },
  { name: "Adam", age: 39 }
];

// Сопоставьте массив объектов с объектом, используя свойство name в качестве ключей
objectify(people, (p) => p.name.toLowerCase());
// Вывод: { john: { name: 'John', age: 42 }, adam: { name: 'Adam', age: 39 } }

// Сопоставьте массив объектов с объектом, используя свойство name в качестве ключей и свойство age в качестве значений
objectify(
  people,
  (p) => p.name.toLowerCase(),
  (p) => p.age
);
// Вывод: { john: 42, adam: 39 }

Резюме

Поздравляем! Вы завершили практическое занятие по сопоставлению массива с объектом. Вы можете выполнить больше практических занятий в LabEx, чтобы улучшить свои навыки.