titlemap reduce select reject group_by each collect inject
針對每個element進行變換並返回整個修改後的map
例如有這樣乙個字串: a = %w(a b cd)
a.map do |item|
item.upcase
enda.map(&:upcase) 一樣的效果,
&:
代表了item, 太簡潔了,但格式難記。
把array變換為乙個值後返回。
a.reduce(:+) #=> "abcd"
(5..10).reduce(0) do |sum, value|
sum + value
end注 : 等於 (5..10).reduce(:+)
reduct(
0)裡面的0是代表sum的初始值
根據條件返回乙個子集
(1..8).select #=> [2, 4, 6, 8]
根據條件剔除乙個子集
(1..8).reject #=> [1, 3, 5, 7]
根據條件組成map
langs.group_by #=>
a=%w(chenxiao chenmin chensiheng xiaochen liyulong)
a.group_by
false=>["liyulong"], true=>["chenxiao", "chenmin", "chensiheng", "xiaochen"]
連續訪問集合的所有元素
從集合中獲得各個元素傳遞給block,block返回的結果生成新的集合。
b=(1..10).to_a
b.collect
b.map
遍歷集合中的各個元素,將各個元素累積成返回乙個值。
b.inject
1.hash = [[
:first_name
, 'shane'
], [
:last_name
, 'harvie'
]].inject({})do|result, element|
2.result[element.first] = element.last
3.result
4.end
5.6.
hash
# =>
1.[1, 2, 3, 4, 5, 6].select .collect
# => ["2", "4", "6"]
上面**實現選取陣列中的偶數,並把它們轉換成字元型。用
inject
如何實現呢?
1.array = [1, 2, 3, 4, 5, 6].inject()do|result, element|
2.result << element.to_sifelement % 2 == 0
3.result
4.end
5.6.
array
# => ["2", "4", "6"]
是不是更直觀?
Foreach遍歷集合類原理
下面的 示例闡釋如何編寫可與foreach一起使用的非泛型集合類。該類是字串標記化拆分器,類似於 c 執行時函式 strtok s。1 using system 2using system.collections.generic 3using system.linq 4using system.te...
js遍歷物件的多種辦法 強烈推薦
資料結構對型別多種多樣。陣列 物件。對於陣列,可簡單的進行迴圈遍歷的操作,從而獲取到每乙個元素。但是物件格式的資料,並不能直接使用遍歷陣列的方式,那麼物件該如何遍歷呢?方法會返回乙個由乙個給定物件的自身可列舉屬性組成的陣列,陣列中屬性名的排列順序和正常迴圈遍歷該物件時返回的順序一致。如 let ob...
List物件集合的遍歷 物件賦值和向前臺傳遞
在前幾天的程式設計過程中,發現前台需要的資料不完整。從資料庫查出來的字段不夠,如果再多表聯查或者左聯會有我不想要的重複資料,而且會使sql更加複雜,不利於維護。所有我決定用私有方法單獨查出相應字段,然後通過增強for給每乙個物件賦值。這樣免除了多餘條,也給前台傳遞了完整的資料。根據entname 企...