функция Iterable::map

Создаёт новый составной объект, на основе данного и выполнения пользовательской функции

Синтаксис

Iterable
Iterable.map
(f(E element))

Передаваемые параметры

f(E element)

Возвращаемое значение

Iterable

Описание

Метод map позволяет получить новый составной объект, в котором значения элементов будут соответствовать результатам выполнения пользовательской callback-функции f(E element) для каждого элемента данной коллекции (составного объекта).

Данный метод использует "ленивую" инициализацию новой коллекции. До тех пор, пока к элементам нового объекта не будет ни одного обращения, пользовательская функция f(E element) вызываться не будет и новые значения получены не будут. Кроме этого, значения элементов не будут кешироваться, и таким образом повторная итерация по новой коллекции будет приводить к повторному вызову пользовательской callback-функции.

  • функция f(E element) может возвращать результаты произвольного типа, а следовательно, тип возвращаемого объекта будет Iterable, а не Iterable[E].

Заметки

Пример


void print_array(array) {
  for(var x in array) {
    print (x);
  }
}

void main() {
  // инициализируем массив с данными
  var array = [0,1,2,3,4,5,6,7,8,9];
  
  // возведем в квадрат каждый элемент данной коллекции, и вернем в качестве
  // новой коллекции, в итоге получаем массив [0,1,4,9,16,25,36,49,64,81]
  print_array(
    array.map(
      (arrayItem) {
        return Math.pow(arrayItem, 2.0);
      }
    )
  );


  // изменим регистр всех букв на верхний, и вернем в качестве новой коллекции
  // получаем массив ['APPLE','ORANGE','LEMON','TOMATO']
  print_array(
    ['apple','orange','lemon','tomato'].map(
      (arrayItem) {
        return arrayItem.toUpperCase();
      }
    )
  ); 
}

Смотрите также

Iterable::expand - Преобразует каждый элемент коллекции в 0 или более элементов новой коллекции

Официальная документация (английский)