Dart学习笔记(六)

59 阅读1分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

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 ---- 男
 
  });
 
}