We will learn how to work with Lists using a variety of methods made available in the dart:core library. We will explore the top methods for working with List type collections.

Learn more about Lists at https://api.dartlang.org/stable/2.2.0/dart-core/List-class.html

Array to list:

because .map return iterable.

  var fruits = ['banana', 'pineapple', 'orange', 'watermelon', 'apple'];
var fiboNumbers = [, , , , , , ];
List<Map<String, dynamic>> users = [
{ 'name': 'John', 'age': },
{ 'name': 'Jane', 'age': },
{ 'name': 'Mary', 'age': },
]; // array to list
var mappedFruits = fruits.map((fruit) => 'I love $fruit').toList();
print(mappedFruits);

reduce vs fold:

reduce: doesn't provide the init value, but 'fold' does:

  const initialValue = ;
var sum2 = fiboNumbers.fold(initialValue, (curr, next) => curr + next);
print( sum2 ); var sum = fiboNumbers.reduce((curr, next) => curr + next);
print( sum );

filtering:

  var over21s = users.where((user) => user['age'] > );
print( over21s.length ); var nameJ = users.firstWhere((user) => user['name'].startsWith('J'), orElse: () => null);
print( nameJ ); var under18 = users.singleWhere((user) => user['age'] < , orElse: () => {'error': 'Not Found'});
print( under18 );

take & skip:

  print( fiboNumbers.take().toList() );
print( fiboNumbers.skip().toList() );
print( fiboNumbers.take().skip().take().toList() );

expend: the same as flatMap in JS

  var flattened = [[, ], [, ]].expand((pair) => pair).toList();
print( flattened ); var duplicated = fiboNumbers.expand((i) => [i, i]).toList();
print( duplicated );

[Dart] Manipulate Lists/Arrays in Dart的更多相关文章

  1. Dart编程实例 - 第一个Dart程序

    Dart编程实例 - 第一个Dart程序 main() { print("Hello World!"); } 本文转自:http://codingdict.com/article/ ...

  2. [dart学习]第二篇:dart变量介绍 (一)

    前言 本文的所有内容均是官方文档的简单翻译和理解,需要查看原文,请登录  https://www.dartlang.org/guides/language/language-tour  阅读, 让我们 ...

  3. Flutter - JSON to Dart,一个json转dart实体的网站

    如你所见,一个json转dart实体的网站,https://javiercbk.github.io/json_to_dart/

  4. Dart基础学习01--走近Dart

    什么是Dart 在Dart的官网上是这样介绍Dart的: Dart is an open-source, scalable programming language, with robust libr ...

  5. Dart语言学习(十二) Dart面向对象

    Dart作为一种高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式. 基于mixin的继承方式是指:一个类可以继承自多个父类,相当于其他语言里的多继承. 所有的类都有同一个基类Obje ...

  6. Dart语言学习(十五) Dart函数方法

    Dart函数方法可分为两类: 一.内置方法/函数: print(); 二.自定义方法: 自定义方法的基本格式: 返回类型 方法名称(参数1,参数2,...){ 方法体 return 返回值; } vo ...

  7. Dart语言学习(十四) Dart泛型

    什么是泛型? 通俗理解:泛型就是解决 类 接口 方法的复用性.以及对不特定数据类型的支持(类型校验) 如下代码,只能返回string类型的数据 String getData(String value) ...

  8. Dart语言入门(一)

    Dart 语言介绍 Dart 是谷歌在 2011 年推出的编程语言,是一种结构化 Web 编程语言,允许用户通过 Chromium 中所整合的虚拟机(Dart VM)直接运行 Dart 语言编写的程序 ...

  9. 30分钟掌握Dart语言

    在Dart中,一切都是对象,一切对象都是class的实例,哪怕是数字类型.方法甚至null都是对象,所有的对象都是继承自Object 虽然Dart是强类型语言,但变量类型是可选的因为Dart可以自动推 ...

随机推荐

  1. Nginx 系列教程

    Nginx(一):Nginx介绍 Nginx(二):编译安装Nginx及参数说明 Nginx(三):nginx.conf配置文件说明 [1] 配置参数说明 Nginx(三):nginx.conf配置文 ...

  2. Linux01学习第一天 man

    Linux标准的读音:哩呐科斯 Linux是一种类UNIX的系统,具有以下特点: 1.免费开源 2.模块化程度高 3.广泛的硬件支持 4.安全稳定 5.多用户,多任务(所以常应用于系统运维,以及合作开 ...

  3. 长乐培训Day7

    T1 删除 题目 [题目描述] 现在,我的手上有 n 个数字,分别是 a1,a2,a3,...,an. 我现在需要删除其中的 k 个数字.当然我不希望随随便便删除,我希望删除 k 数字之后,剩下的 n ...

  4. ansible使用普通用户免密登陆+sudo提权

    前提:从ansible控制端使用test用户可以免密登陆所有被控制端,并且被控端test用户支持sudo提权 # ansible主机清单 cat /etc/ansible/hosts [online- ...

  5. 11款航拍辅助APP【转】

    盘点丨11款航拍辅助APP_宇辰网_让世界读懂无人机_全球专业无人机资讯|电商|大数据服务平台

  6. 自定义AuthorizeFilter

    using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Authorization.Infrastructure; u ...

  7. PLSQL Developer新建表空间

    转自:https://www.cnblogs.com/juddhu/archive/2012/03/20/2408499.html 通过pl/sql登录到Oracle数据库上,然后执行菜单:文件/新建 ...

  8. C++ 基础知识汇总 持续更新

    摘录一些C++面试常考问题,写一些自己的理解,花了挺长时间的,作图是真的累,欢迎来摘果子. static关键字 用于声明静态对象: 静态函数只在本文件可见.(默认是extern的) 全局静态对象:全局 ...

  9. [LeetCode] 300. 最长上升子序列 ☆☆☆(动态规划 二分)

    https://leetcode-cn.com/problems/longest-increasing-subsequence/solution/dong-tai-gui-hua-she-ji-fan ...

  10. nginx 默认配置语法和日志的format

    nginx 默认配置 查看有nginx哪些默认配置文件,打开/etc/nginx/nginx.conf文件,查看尾行部分 会默认将/etc/nginx/conf.d/文件下其他以.conf结尾的配置文 ...