常用属性
- length: 获取数组长度
- reversed: 数组反转
- isEmpty: 是否为空
- isNoEmpty: 是否不为空
常用方法
- add: 增加
- addAll: 拼接数组
- indexOf: 传入具体值, 查找到返回索引值, 没有返回-1
- remove: 删除, 传入具体值, 返回值为修改后的数组, 原数组改变
- removeAt: 删除, 传入索引值, 返回值为修改后的数组, 原数组不变
- fillRange(start, end, val): 修改, 返回值为修改后的值, start-开始的索引,end-结束的索引, val-修改的值, 从start开始修改, 一直到end, 不包含end项
- insert(index, val): 指定位置插入值
- insertAll(index, list): 指定位置插入list
- join(): list转成字符串, 可以自定义分隔符
- split(): 字符串转成list, 参数为指定的分隔符
void main() {
List l1 = <String>['1', '发给我'];
var findItem = l1.indexOf('发给我');
print(findItem);
List l2 = [1, 2, 3, 4, 5];
l2.removeAt(1);
print(l2);
List l3 = [1, 2, 3, 4, 5];
l3.remove(1);
print(l3);
List l4 = [7, 6, 5, 4, 3];
l4.fillRange(1, 3, 'a');
print(l4);
l4.insertAll(0, [8, 9]);
print(l4);
var filter = l2.where((element) {
return element > 1;
});
print(filter);
var anyF = l2.any((element) {
return element > 1;
});
print(anyF);
var anye = l2.every((element) {
return element > 1;
});
print(anye);
List nummArr = [];
print(nummArr.isEmpty);
print(nummArr.isNotEmpty);
List changeArr = [1, 2, 3, 4, 5];
changeArr.fillRange(1, 3, 'a');
print(changeArr);
String str1 = 'be_345r2_bh42_2';
List strArr = str1.split('_');
print(strArr);
String str2 = strArr.join(',');
print(str2);
}
list的循环
- forEach: 同js
- map: 同js
- where: 满足条件返回信的集合, 类似js中的filter, 不改变原数组
- any: 输入内有一个满足条件的就返回true
- every: 判断数组中的数据是否都满足条件
void main() {
List instList = <int>[1, 2, 3, 4, 5, 6, 7, 8, 9, 10];
var filterList = instList.where((element) {
return element ~/ 2 > 1;
});
print(filterList);
var anyList = instList.any((element) {
return element > 10;
});
print(anyList);
var everyList = instList.every((element) {
return element ~/ 2 < 8;
});
print(everyList);
}