Dart系列(五-六) Dart的集合类型 数组 map等


发文时间:2021年03月03日 22:52:42     编辑:Aaron      标签:记录Dart语言的学习历程 437


Dart是谷歌开发的计算机编程语言,后来被Ecma (ECMA-408)认定为标准。它被用于web、服务器、移动应用和物联网等领域的开发。

详细可查看 点我点我

//数组的长度计算,数组查找指定值,数组删除指定值(传入需删除的内容或主键等)
main(){
  
 var myList=['香蕉','苹果','西瓜'];
  
   print(myList);
  
  //常用属性 可以固定长度 
  
  //打印长度
  print(myList.length);//输出3
  
  //判断是否为空
  print(myList.isEmpty);//输出false 因为不等于空
  
  //判断是不是不为空,不为空的话 返回true 为空的话 返回false
  print(myList.isNotEmpty);//返回true 因为不等于空
  
  //让数组翻转(倒序排序)
  print(myList.reversed);//输出  (西瓜, 苹果, 香蕉)
  
  
  //让数组直接赋值给一个新的变量  且是倒序的
  var newmylist=myList.reversed.toList(); //toList方法表示把数据设置为数组类型
  print(newmylist); //输出 [西瓜, 苹果, 香蕉]
  
  //如果让数组直接赋值一个新的变量 且是按原有排序的 (直接赋值即可 无需加toList)
  var newLodlist=myList;
  print(newLodlist);
  
  
  //list常见的方法
   var newList=['香蕉','苹果','西瓜'];
  
  //增加单个数据到 数组里
//   newL
  
  
   print('----------------------------------------');

}
循环处理数组内的数据 案例
void main() {
  
  //循环输出 数组的k值
  List myList = [1, 2, 3, 4];
  myList.forEach((value) {
    print(value);
  });//输出 1 2 3 4 
  
  
 //假设需要让数组内的的参数 各自*2  (map 以往可以用循环,但是可以用自带的方法)
 List mylist=[1,2,3,4];
 var newlist=mylist.map((value){  //map的循环 集合循环
  return value*2;
 });
  print(newlist); //输出 (2, 4, 6, 8)
  
  
  //假设让数组中大于5的值输出出来  where 符合条件内的
  var alist=[1,4,6,8,7,10];
  var nlist=alist.where((value){
    return value>5;//大于5的数据
  });
  print(nlist);//输出 (6, 8, 7, 10)
  
  //如果需要数组类型 那就加上 .toList()
   print(nlist.toList());//输出[6, 8, 7, 10]
  
 
  
  
  //any 符合一个条件的就返回true
  var j=[1,5,6,7,8,9];
  var f=j.any((value){ //之所以传入一个value因为这个是一维数组
   return  value==1;
  });
  print(f);//value存在等于1的值 所以返回true为布尔值,不存在的话 就返回false
  
  
 //every 条件都满足了才能返回true 否则返回false  (假设需要都大于等于5)
  var j1=[5,6,7,8,9];
  var a1;
  var f1=j1.every((value){
   a1=value>=5; //也可以把响应体给一个变量 后而return
    return a1;
  });
  print(a1);
  
 
  //数组去重 或者防止数组重复数据
  var adata= new Set();
  var adata1=[1,2,1,4,5,6,8,5,10];
  adata.addAll(adata1);//把重复的数组放入过滤的数组中
  print(adata.toList());//去重并且转为数组类型  输出 [1, 2, 4, 5, 6, 8, 10]
  
  
    
  
  //一行代码简写输出数组内容
  adata.forEach((value)=>print(value)); 
  /*
   输出
1
2
4
5
6
8
10
   */
  
  print('---------分隔线----------'); 
  //循环 map数据
  
  Map person={
    'name':'慰坚',
    'age':24,
    'zhiye':'程序员'
  };
  //把json类型的 key和value 都循环出来
  person.forEach((key,value){
    print("$key -----  $value");
  });
  
  /*
   name -----  慰坚
    age -----  24
    zhiye -----  程序员
   */


 

若无特殊说明,此文章为博主原创。
写稿不易,如需转载,请注明出处: https://www.aaroner.cn/art/38.html




SITE MAP

  FOLLOW US