Dart 数据类型 - List
js
中的数组
声明方式
字面量方式
List l1 = []; // 不限定元素类型
List l2 = []; // 限定元素类型必须为 String
构造函数方式
List l1 = List.empty(growable: true); // 不限制长度的空列表
List l2 = List.filled(3, 0); // 声明指定长度的填充列表
扩展操作符
var l1 = [1, 2, 3];
var l2 = [0, ...l1]; // [0, 1, 2, 3]
常用api
https://api.dart.cn/stable/2.19.2/dart-core/List-class.html
.length | @return: int | List 长度 |
.reversed | @return: Iterable (可迭代对象 List Set …) 如果需要返回 List .reversed.toList() | 反转 List |
.add(value) | @value @return: void | 追加元素 |
.addAll(Iterable iterable) | @iterable: Iterable @return: void | 追加多个元素 |
.insert(int index, E element) | @index: int 指定下标 @element: E 要插入的元素 @retutn: void | 在指定位置插入 |
.remove(Object? value) | @value: Object? 要删除的元素 @return: bool | 删除元素,只删除第一个 |
.removeAt(Int index) | @index: int 下标 @return: E 返回删除的值 | 按下标删除 |
.clear() | @return: void | 清空 List |
.isEmpty | @return: bool | 判断是否为空 |
.join([String separator = ""]) | @separator:String 链接符号 @return: String | 拼接为字符串 |
.forEach(void function(element)) | @function @return: void | 遍历 |
.map(T toElement(E e)) | @return: Iterable | 遍历并返回新的可迭代对象 |
.where(bool test(E element)) | @test: function 返回布尔值的函数 @return: Iterable | 返回满足条件的数据 |
.any(bool test(E element)) | @return: bool | 只要有一个元素满足条件 返回 true |
.every(bool test(E element)) | @return: bool | 所有条件都满足才返回 true |
.expand(Iterable toElements(E element)) | @toElements: function @return: Iterable | 扩展,元素必须都是可迭代对象 |
.fold(T initialValue, T combine(T previousValue, E element)) | @initialValue 初始值 @initialValue 上一次操作的结果,第一次就是初始值 @element 当前元素 | 折叠,对列表中的每一个元素进行累计操作 |
还可以使用
for
for…in
遍历