Ruby Array类
生成 |
a = [1,2,3] # 字面生成 |
||||||||||||
复制 |
clone -> Array dup -> Array ● 元素不复制(指针的还是指针) ● clone也包含了frozen tainted singleton-class的内容 |
||||||||||||
索引 | a = Array.new(12, 1) 获取一个 b = a[1] b = a.at(1) b = a.slice(1) 获取子数组 b = a[1..2] b = a.slice(1..2) b = a[1...2] b = a.slice(1...2) 获取子数组, 通过首项和数组长度 b = a[1, 5] b = a.slice(1..6) |
||||||||||||
插入新元素 | b = Array.new(4, 95) a[n, 0] = b |
||||||||||||
取出多个元素 | a.values_at(n1, n2, ...) | ||||||||||||
长度 | a.length a.size |
||||||||||||
是否包含指定元素 | include?(val) -> bool | ||||||||||||
集合运算 | 并集 a | b 交集 a & b | 和 +的区别 |
||||||||||||
序列和堆 | 序列: 先放的先拿 堆: 先放的后拿 |
||||||||||||
增加元素 |
|
||||||||||||
删除元素 |
|
||||||||||||
读取元素 |
开头: first(n) 结尾: last(n) 第二个: second() 这个不能有参数 开头开始指定个: take(n) |
||||||||||||
搜索元素 |
|
||||||||||||
主要方法 | 注:改变自己的method会改变所以参照的对象 | ||||||||||||
增加首元素 | a.unshift(n) | ||||||||||||
增加尾元素 | a.push(n) a << n | ||||||||||||
末尾添加数组 | a.concat(b) a += b | ||||||||||||
取出一部分 | a[n], a[m...n], a[m..n], a[n, length]
a[n] 取出第n个 |
||||||||||||
删除nil | a.compact() 去除nil | ||||||||||||
去掉所有n | a.delete(n) 去除所有n |
||||||||||||
删掉第n+1个 | a.delete_at(n) 去除第n+1个 | ||||||||||||
满足条件时删除 |
删除返回true的 a.delete_if do |temp| # 总是返回自身 相当于 a.reject! do |temp| |
||||||||||||
去除重复 | a.uniq() a.uniq!() |
||||||||||||
读取并删除首元素 读取并删除尾元素 |
a.shift() a.pop() |
||||||||||||
加工原数组 |
a.collect {|temp| 注: map, collect是同一个方法 返回值作为新元素, 不返回则为nil |
||||||||||||
填充新值 | a.fill(value) a.fill(value, begin) a.fill(value, begin, len) a.fill(value, n..m) |
||||||||||||
展开所有子集合 | a.flatten() a.flatten!() |
||||||||||||
倒转 | a.reverse() a.reverse!() |
||||||||||||
排序 | a.sort() a.sort!() a.sort {|temp| ...} a.sort! {|temp| ...} sampe = target.sort { |a, b| b.contents.count <=> a.contents.count } |
||||||||||||
通过某个值排序 | a.sort_by {|temp| ...} a.sort_by! {|temp| ...} 注意: 从小到大排(升序) |
||||||||||||
遍历 | a.each {|temp|} a.zip 带索引 从0开始 a.each_with_index {|temp, index|} 从n开始 a.each.with_index(n) {|temp, index|} |
||||||||||||
获取字符串 |
a.join(sep="") 按将数组内容按sep为分割连结成字符串 [1, 2, 3].join('/') # '1/2/3' |
||||||||||||
最新文章
- java.lang.IllegalStateException:Couldn&#39;t read row 0, col -1 from CursorWindow. Make sure the Cursor is initialized correctly before accessing data from it.
- 爬虫, 获取登录者的外网IP
- 分享我开发的网络电话Android手机APP正式版,图文详解及下载
- 好玩的Prim算法
- 【python】lxml-The E-factory
- 使用Grunt启动和运行
- 【转】uvm 与 system verilog的理解
- jQuery事件绑定和委托
- 力挺8天入门wpf【转载】
- 转发:招聘一个靠谱的 iOS
- 设计模式笔记之一:MVP架构模式入门(转)
- Swift基础之Demo包含刷新,加载,网络请求,MVC
- [转]php 图片验证码生成 前后台验证
- java结合testng,利用excel做数据源的数据驱动实例
- js获取背景颜色
- Legend 图例
- spring相关jar包的作用讲解(转)
- int main(int argc,char* argv[])浅析
- [转]VS&ldquo;当前上下文中不存在名称&ldquo;ViewBag&rdquo;解决方法
- ES6学习之const声明常量的学习