Использование ассоциативных массивов

Google Apps Script:
Использование ассоциативных массивов

Как:

В Google Apps Script ассоциативные массивы (объекты) создаются и манипулируются с использованием фигурных скобок {}, внутри которых определяются пары ключ-значение. Ключи являются уникальными идентификаторами, а значениями могут быть всё, начиная от строк и чисел и заканчивая более сложными объектами или функциями. Вот базовый пример:

function createAssociativeArray() {
  var user = {
    name: "John Doe",
    age: 30,
    email: "[email protected]"
  };

  // Доступ к значениям
  Logger.log(user.name); // Выводит: John Doe
  Logger.log(user["email"]); // Выводит: [email protected]

  // Добавление новых пар ключ-значение
  user.title = "Разработчик программного обеспечения";
  user["country"] = "США";

  Logger.log(user.title); // Выводит: Разработчик программного обеспечения

  // Итерация по парам ключ-значение
  for (var key in user) {
    Logger.log(key + ': ' + user[key]);
  }
}

Пример вывода для части итерации может выглядеть так:

name: John Doe
age: 30
email: [email protected]
title: Разработчик программного обеспечения
country: США

Обратите внимание, как можно использовать как точечную, так и скобочную нотацию для доступа и установки свойств. Скобочная нотация особенно полезна при работе с ключами, которые определяются динамически или включают символы, не допустимые в идентификаторах.

Глубокое погружение

Ассоциативные массивы в виде объектов были краеугольным камнем JavaScript и, по расширению, Google Apps Script, отражая механизм наследования на основе прототипов. В отличие от языков с традиционными ассоциативными массивами или словарями (например, dict в Python), объекты Google Apps Script предоставляют гибкий и мощный способ структурирования данных, извлекая выгоду из динамической природы JavaScript.

Однако важно отметить, что спецификация ECMAScript 2015 ввела объекты Map и Set, предлагающие более простое управление ассоциативными коллекциями с некоторыми преимуществами перед объектами, такими как сохранение порядка вставки и лучшая производительность для больших наборов данных. Хотя Google Apps Script также поддерживает их, выбор между использованием объектов или более новых структур Map/Set зависит от конкретных потребностей и соображений производительности. Для большинства задач ассоциативного массива традиционная реализация на основе объектов предоставляет знакомый и универсальный подход, но рассмотрение новых альтернатив рекомендуется по мере роста сложности вашего скрипта.