Dart конвертирует каждый элемент списка

У меня есть List<String> stringValues;, которые на самом деле представляют собой числа в кавычках. Я хочу преобразовать этот список в List<int> intValues. Какой элегантный способ сделать это?

Есть list.forEach(), который ничего не возвращает, есть iterable.expand(), который возвращает итерацию для каждого элемента, есть iterable.fold(), который возвращает только один элемент для всего списка. Я не смог найти что-то, что позволило бы мне передать каждый элемент через замыкание и вернуть другой список, который имеет возвращаемые значения замыкания.


person Gazihan Alankus    schedule 01.06.2016    source источник


Ответы (1)


Используйте для этого map() и toList(). toList() необходимо, потому что map() возвращает только Iterable:

stringValues.map((val) => int.parse(val)).toList()

или короче (спасибо @AlexandreArdhuin)

stringValues.map(int.parse).toList()

Пример Dartpad

person Günter Zöchbauer    schedule 01.06.2016
comment
Вы также можете использовать stringValues.map(int.parse).toList() как сокращение. - person Alexandre Ardhuin; 01.06.2016
comment
Я всегда за это делаю. Спасибо за подсказку. - person Günter Zöchbauer; 01.06.2016