[Dart] Manipulate Lists/Arrays in Dart
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的更多相关文章
- Dart编程实例 - 第一个Dart程序
Dart编程实例 - 第一个Dart程序 main() { print("Hello World!"); } 本文转自:http://codingdict.com/article/ ...
- [dart学习]第二篇:dart变量介绍 (一)
前言 本文的所有内容均是官方文档的简单翻译和理解,需要查看原文,请登录 https://www.dartlang.org/guides/language/language-tour 阅读, 让我们 ...
- Flutter - JSON to Dart,一个json转dart实体的网站
如你所见,一个json转dart实体的网站,https://javiercbk.github.io/json_to_dart/
- Dart基础学习01--走近Dart
什么是Dart 在Dart的官网上是这样介绍Dart的: Dart is an open-source, scalable programming language, with robust libr ...
- Dart语言学习(十二) Dart面向对象
Dart作为一种高级语言,支持面向对象的很多特性,并且支持基于mixin的继承方式. 基于mixin的继承方式是指:一个类可以继承自多个父类,相当于其他语言里的多继承. 所有的类都有同一个基类Obje ...
- Dart语言学习(十五) Dart函数方法
Dart函数方法可分为两类: 一.内置方法/函数: print(); 二.自定义方法: 自定义方法的基本格式: 返回类型 方法名称(参数1,参数2,...){ 方法体 return 返回值; } vo ...
- Dart语言学习(十四) Dart泛型
什么是泛型? 通俗理解:泛型就是解决 类 接口 方法的复用性.以及对不特定数据类型的支持(类型校验) 如下代码,只能返回string类型的数据 String getData(String value) ...
- Dart语言入门(一)
Dart 语言介绍 Dart 是谷歌在 2011 年推出的编程语言,是一种结构化 Web 编程语言,允许用户通过 Chromium 中所整合的虚拟机(Dart VM)直接运行 Dart 语言编写的程序 ...
- 30分钟掌握Dart语言
在Dart中,一切都是对象,一切对象都是class的实例,哪怕是数字类型.方法甚至null都是对象,所有的对象都是继承自Object 虽然Dart是强类型语言,但变量类型是可选的因为Dart可以自动推 ...
随机推荐
- Apache Shiro初认识
Apache Shiro 一.Shiro介绍: Apache软件基金会专门针对系统中的登录.加密.权限认证.授权等等功能进行了封装,不仅仅适用于JavaWeb项目,CS架构的系统也可以使用Shiro. ...
- QT 创建本地数据库(SQLite数据库)存储数据
注意:QT自带SQLITE数据库,不需要再安装 1.创建一个包含创建.查询.修改和删除数据库的数据库类(DataBase) DataBase.h头文件 #pragma once #include &l ...
- Singer House CodeForces - 830D (组合计数,dp)
大意: 一个$k$层完全二叉树, 每个节点向它祖先连边, 就得到一个$k$房子, 求$k$房子的所有简单路径数. $DP$好题. 首先设$dp_{i,j}$表示$i$房子, 分出$j$条简单路径的方案 ...
- 3.asp.net core 关键概念
1. StartUp类 在Startup.ConfigureServices方法里配置或注册服务 在Startup.Configure方法里配置请求处理管道.请求处理管道由一系列中间件组建构成,每个中 ...
- Gogs + Drone 实现CI/CD(CD)
前文已经实现CI部分,本文继续以Asp.Net Core实现CD部分. 创建gogs仓库 首先在gogs创建一个空项目drone-ci-demo,本地新建一个asp.net core项目,并且在与.c ...
- javascript -- 时间转换
function numFormat(num){ //时间处理 return ('00' + num).substr(-2); #处理 日期前面有0的情况}function timeFormat ...
- vue 分组左右选择
<el-col :span="12"> <div style="text-align: left" class="transferd ...
- View Controller Programming Guid for iOS 笔记
1.View Controller 基础 1.1 View Controller 分类 ViewController分为container view controller 和content view ...
- 善用#waring,#pragma mark 标记
在项目开发中,我们不可能对着需求一口气将代码都写好.开发过程中肯定遇到诸如需求变动,业务逻辑沟通,运行环境的切换等这些问题.当项目大的时候,如果木有形成统一的代码规范,在项目交接和开发人员沟通上将会带 ...
- Spring之IOC原理及代码详解
一.什么是IOC 引用 Spring 官方原文:This chapter covers the Spring Framework implementation of the Inversion of ...