本文已参与「新人创作礼」活动,一起开启掘金创作之路。
Dart Map方法
映射(Maps)是无序的键值对
常用属性:
- keys 获取所有的key值
- values 获取所有的value值
- isEmpty 是否为空
- isNotEmpty 是否不为空
常用方法:
- remove(key) 删除指定key的数据
- addAll({...}) 合并映射 给映射内增加属性
- containsValue 查看映射内的值 返回true/false
- forEach
- map
- where
- any
- every
方法一
void main() {
var person = {
"name": "张三",
"age": 20
};
print(person); // {name: 张三, age: 20}
}
方法二
void main() {
Map person = {"name": "张三", "age": 20};
print(person); // {name: 张三, age: 20}
}
方法三
void main() {
var m = new Map();
m["name"] = "李四";
print(person); // {name: 张三, age: 20}
print(m); // {name: 李四}
}
常用属性:
void main() {
Map person = {"name": "张三", "age": 20, "sex": "男"};
print(person.keys.toList()); // [name, age, sex]
print(person.values.toList()); // [张三, 20, 男]
print(person.values.isEmpty); // false
print(person.values.isNotEmpty); // true
}
常用方法:
void main() {
Map person = {"name": "张三", "age": 20, "sex": "男"};
person.addAll({
"work": ['程序员', "外卖员"],
"height": 160
});
print(person); // {name: 张三, age: 20, sex: 男, work: [程序员, 外卖员], height: 160}
print(person.remove('sex')); // 男
print(person.containsValue('张三')); // true
}
Dart forEach map where any every
- forEach
- map
- where
- any
- every
方法一
void main() {
List myList = ['香蕉', '苹果', '西瓜'];
for(var i = 0; i < myList.length; i++) {
print(myList[i]); // 香蕉 苹果 西瓜
}
}
方法二
void main() {
List myList = ['香蕉', '苹果', '西瓜'];
for(var item in myList) {
print(item);
}
}
方法三
void main() {
List myList = ['香蕉', '苹果', '西瓜'];
myList.forEach((value) {
print("$value");
});
}
void main() {
List myList = [1, 2, 3, 4];
List newList = [];
for (var i = 0; i < myList.length; i++) {
newList.add(myList[i] * 2);
}
print(newList); // [2, 4, 6, 8]
}
void main() {
List myList = [1, 2, 3, 4];
List newList = [];
myList.forEach((value) {
newList.add(value * 2);
});
print(newList); // [2, 4, 6, 8]
}
void main() {
List myList = [1, 2, 3, 4];
var newList = myList.map((value) {
return value * 2;
});
print(newList); // (2, 4, 6, 8)
print(newList.toList()); // [2, 4, 6, 8]
}
void main() {
List myList = [1, 2, 3, 4];
var f = myList.any((value) { // 只要集合里有满足条件就返回true 否则返回false
return value > 5;
});
print(f);
}
void main() {
List myList = [1, 2, 3, 4, 6, 7, 8];
var f = myList.every((value) { // 只要集合里每一个都满足条件就返回true 否则返回false
return value > 5;
});
print(f); // false
}
循环 set
void main() {
var s = new Set();
s.addAll([1, 222, 333]);
s.forEach((value) {
print(value); // 1 222 333
});
}
循环 map
void main() {
Map person = {"name": "张三", "age": 20, "sex": "男"};
person.forEach((key, value) {
print("$key ---- $value"); // name ---- 张三 age ---- 20 sex ---- 男
});
}