为了写flutter,学了dart,记录一下。
一、List
var a = new List();
- 增加内容(其实
addAll
是用来拼接两个数组的)
a.add(2);
a.addAll([1,4,2,4,4])
- 获取长度
a.length()
- 数据翻转
toList
是为了把数据转化成数组,reversed
之后的数据返回的是(1,2,4,4)这种样式的,而不是数组
var b = a.reversed.toList();
- 查找
indexOf
,返回的是索引值(从0开始算),找不到返回-1
a.indexOf(2);
- 删除具体值
a.remove(2);
- 删除传入的索引值对应的值
a.removeAt(4);
- 修改值(开始位置算,结束位置不算自己,修改的值)
a.fillRange(0,2,'s');//前两个值全部变成's'
- 插入一个值
a.insert(1,'aaa');//在这个索引值前面插入
a.insertAll(1,['a','b']);//在这个索引值前面插入
- list转成字符串,并且用’,'隔开
a.join(,);
- 字符串转成List
StringA.split('-');//用中间这个‘-’去切割这个字符串
二、Set
var s = new Set();
- 也是用add()去添加
- set是没有顺序的,并且不能重复,所以不能用索引去获取值
- 作用主要是数组去重
List a = ['a','b','c','a','a'];
var s = new Set();
s.addAll(a);
a = s.toList(); // a == ['a','b','c']
三、Maps
var Person={
'A': 'aaa',
'b' :1
};
1.获取所有的key和值
Person.keys;//返回所有的key
Person.values;//返回所有的value
2.判断是否为空Person.isEmpty
,判断是否不为空Person.isNotEmpty
3.删除一个值Person.remove('A');
4.查找一个值Person.containsValue('aaa');
四、方法
1、forEach()
和map()
类似,遍历一个数组
2、where()
和JS中的filter()类似,返回符合条件的值
3、any()
是只要有一个值符合条件就返回true,否则就是false
4、 every()
是所有的数据都要符合要求