您当前的位置: 首页 >  ar

Allen Su

暂无认证

  • 2浏览

    0关注

    431博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

【Dart 教程系列第 16 篇】Dart 之 indexOf、lastIndexOf 获取指定元素在数组中的索引

Allen Su 发布时间:2020-08-21 23:16:59 ,浏览量:2

这是【Dart 教程系列第 16 篇】,如果觉得有用的话,欢迎关注专栏。

Dart 获取指定元素在数组中的索引,用 indexOf() 方法或者 lastIndexOf() 方法,其中 indexOf 方法是从前往后找,lastIndexOf 方法是从后往前找,下面分别举例说明。

indexOf 方法的源代码定义如下

int indexOf(E element, [int start = 0]);

返回值为 int ,第一个参数为要查找的元素,第二个参数为从哪个索引开始查找,是可选参数,默认为 0。

例 1

  List l1 = ["一月", "二月", "三月", "四月", "三月"];
  
  int a = l1.indexOf("三月"); // 获取数组中第一次出现"三月"元素的索引
  int b = l1.indexOf("三月", 3); // 从索引为 3 开始,查找第一次出现"三月"元素的索引
  int c = l1.indexOf("八月");
  
  print(a); // 2
  print(b); // 4
  print(c); // -1,数组中不存在八月,返回 -1

说明:

  • 如果数组中有多个符合条件的元素,只返回正序时第一次出现该元素的索引
  • 如果数组中没有符合条件的元素,则返回 -1

lastIndexOf 方法的源代码定义如下

int lastIndexOf(E element, [int start]);

和 indexOf 方法一样,只不过是从后向前倒序查找,相似之处不再赘述。

例 2

  List l2 = ["一月", "二月", "三月", "四月", "三月"];
  
  int d = l2.lastIndexOf("三月"); // 倒序获取数组中第一次出现"三月"元素的索引
  int e = l2.lastIndexOf("三月", 3); // 从索引为 3 开始,倒序查找第一次出现"三月"元素的索引
  int f = l2.lastIndexOf("十二月");
  
  print(d); // 4
  print(e); // 2
  print(f); // -1,数组中不存在十二月,返回 -1

需要特别特别特别说明的是:lastIndexOf 方法只是从后向前查,返回的还是指定元素所在的索引,不要误以为索引也是从后先前由0开始了

更多 Dart 中 List 数组的方法,推荐一篇博客 Dart 中 List 数组的常用方法

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。

结束语 技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。 最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。
关注
打赏
1656491068
查看更多评论
立即登录/注册

微信扫码登录

0.0500s