Swift数组遍历和索引

  • 数组遍历
  • 索引

数组遍历

Swift最常见的就是For-In

除此之外还有forEach方法,我们先来介绍一下forEach,但是forEach方法有些缺点

1、无法使用break或者continue跳出循环
2、使用return只能退出一次循环


那如何得到索引和值呢?除了我们使用常用的for-in方法,还可使用enumerated()方法

  let numbers = [Int](0...10)for (index, num) in numbers.enumerated(){print("this is the index:\(index)")print("this is the num: \(num)")}

遍历还可以使用Iterator迭代器遍历数组

   let numbers = [Int](0...10)var numIterator = numbers.makeIterator()while let num = numIterator.next(){print("this is the num:\(num)")}

索引

数组中还有索引的概念
startIndex 返回第一个元素的位置,相对于数组来说,永远是0。
endIndex返回最后一个元素索引+1的位置,相对于数组来说,等同于count。
可以通过indices获取索引

  let numbers = [Int](0...10)for i in numbers.indices{print("this is index:\(i)")print("\(numbers[i])")}

Swift数组遍历和索引相关推荐

  1. python运算学习之Numpy ------ 数组的切片索引与循环遍历、条件和布尔数组、形状变化...

    数组的切片索引: 数组的切片索引和列表非常类似,下面用代码简单说明 1 a = np.random.rand(16).reshape(4, 4) 2 print("数组a:\n", ...

  2. swift 数组 filter reduce sort 等方法

    数组的常用方法 swift 数组有很多的操作方法,但是用的时候用常常想不起来,就列出来看看 map 和 flatMap 对数组中的元素进行变形操作 filter 主要对数组进行过滤 reduce 主要 ...

  3. swift -- 数组

    一.数组 1.创建一个空数组 方式一: var array1 = [Int]() let array = ["小明","小黑","hello" ...

  4. 【Swift初见】Swift数组

    在Objective-C中数组是常用的数据类型,在Swift中同样如此,在OC中有NSArray与NSMutableArray之分,但是在Swift中只有通过let和var来区分数组是否可变,Swif ...

  5. 深入理解PHP之数组遍历

    本文地址: http://www.laruence.com/2009/08/23/1065.html 经常会有人问我, PHP的数组, 如果用foreach来访问, 遍历的顺序是固定的么? 以什么顺序 ...

  6. php的遍历方法,PHP数组遍历方法总结

    在PHP中数组分为两类: 数字索引数组和关联数组. 其中数字索引数组和C语言中的数组一样,下标是为0,1,2- 而关联数组下标可能是任意类型,与其它语言中的hash,map等结构相似. 下面介绍PHP ...

  7. js数组遍历、对象遍历、字符串遍历

    2019独角兽企业重金招聘Python工程师标准>>> 数组遍历 for --使用变量将数组长度缓存起来,在数组较长时性能优化效果明显 for(var i=0,len=arr.len ...

  8. JS数组遍历的几种方式

    JS数组遍历的几种方式 JS数组遍历,基本就是for,forin,foreach,forof,map等等一些方法,以下介绍几种本文分析用到的数组遍历方式以及进行性能分析对比 第一种:普通for循环 代 ...

  9. C语言 数组遍历 - C语言零基础入门教程

    目录 一.数组遍历原理 二.数组遍历实战 1.遍历数组查询数组中的元素 2.遍历数组修改数组中的元素 三.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语 ...

最新文章

  1. mysql棋牌管理_棋牌架构DB服务(Mysql+Redis)数据存储演进笔记
  2. PE结构绑定导入实现
  3. python自动炒股软件下载_python自动股票交易软件
  4. 今日头条核心技术“个性推荐算法”揭秘
  5. es管理kabina_小白学ES 05 - 通过Kibana管理集群服务
  6. Linux C 算法——排序
  7. 比尔盖茨:反垄断案让我分心,不然微软定能打败安卓
  8. [2019杭电多校第四场][hdu6621]K-th Closest Distance(主席树)
  9. 视频教程-思科入门CCNA初级网络工程师视频课程-网络技术
  10. jpg格式的图片怎么压缩呢?手把手教你快速压缩jpg图片的大小
  11. 韩信点兵(中国剩余定理)
  12. 用飞书来谈恋爱,飞书机器人定时给女朋友问好!
  13. 解决No thread-bound request found: Are you referring to request attributes outside of an actual web.异常
  14. 跨考计算机复试自我介绍,跨考生复试自我介绍
  15. Android Tablayout 指示器长度修改
  16. Flutter升级3.0
  17. 心理学专业转用户体验_用户体验设计心理学
  18. 浅谈工作周报的目的及意义
  19. 微信删除好友后对方还有自己吗?教你找回被删除的那个TA
  20. ASUS|华硕 天选4 FA507NU 锐龙版 工厂系统 带ASUS Recovery恢复功能

热门文章

  1. java接口返回图片
  2. 模块化:CommonJS规范
  3. Ubuntu 16.04LTS 下omnetpp的安装与nesting模型导入过程
  4. win7操作系统中的文字的大小是可以调节的,具体操作方法如下
  5. sqlplus之 SGA和后台进程
  6. Rsync文件同步软件在CentOS Linux 8下的安装与配置(DNF/YUM安装方式)
  7. 对计算机感兴趣用英语怎么说,对...感兴趣用英语怎么说
  8. navicat 复制表结构到word文档做数据库设计格式问题解决
  9. 《七年就是一辈子》 逻辑思维 互联网 得到
  10. vs2010里面 新建网站里面的 asp.net网站 和 新建项目里面的 asp.net Web应用程序 的区别(上)