如何向哈希数组(Array of Hashes)中添加新的客户哈希元素?
在Ruby中向客户数组添加新哈希元素的方法
嘿,这事儿在Ruby里超简单的,有好几种实用的方式可以给你的customers数组加新的客户哈希,我给你拆解一下:
使用
push方法:这是最直观的方式,直接把新哈希推到数组末尾。你可以这么写:# 带大括号的标准写法 customers.push({ name: 'Jane', age: 25, height: 150 }) # Ruby语法糖:哈希作为最后一个参数时可省略大括号,写法更简洁 customers.push(name: 'Jane', age: 25, height: 150)使用
<<操作符:这个和push效果完全一致,写法更紧凑,很多Ruby开发者偏爱这种风格:customers << { name: 'Jane', age: 25, height: 150 } # 同样可以省略大括号 customers << name: 'Jane', age: 25, height: 150批量添加用
concat:如果要一次性加多个客户哈希,concat会很方便,记得把要添加的元素放进一个数组里:customers.concat([ { name: 'Jane', age: 25, height: 150 }, { name: 'Bob', age: 35, height: 180 } ])不修改原数组,生成新数组用
+:如果你不想改动原来的customers数组,想要得到一个包含新元素的新数组,就用+操作符:new_customers = customers + [{ name: 'Jane', age: 25, height: 150 }] # 此时原customers数组保持不变,new_customers是合并后的新数组
小提醒:push、<<、concat都是直接修改原数组的,而+是返回新数组,你可以根据自己的需求选合适的方式~
内容的提问来源于stack exchange,提问作者chris cozzens
相关产品推荐
相关产品推荐

