美文网首页
(7)map、compact、uniq、blank、presen

(7)map、compact、uniq、blank、presen

作者: suhuanzhen | 来源:发表于2016-11-28 17:46 被阅读0次

切换到新的分支进行开发

git checkout -b seventh/map_compact_uniq_blank_present

案例进行

  • 添加路由
get 'map_compact_uniq_blank_present'
  • 添加动作
def map_compact_uniq_blank_present
end

map就是把结果一个个取出来放入一个新的数组,最终得到的是一个数组结果。

  • compact
    我们是取出每个商品关联的二级标签,如果我们修改第5个商品的外键为tag33,那么肯定找不到关联的二级标签,下面访问就会报错

于是我们把map的结果集里面为nil的元素去掉(也就是第5个商品关联的二级标签记录),这样我们在后面的遍历访问结果集的字段时就不会有nil class,自然不会有undefined method `ID' for nil:NilClass的情况发生

刷新页面发现得到商品的二级标签由9个变为8个,因为第5条商品记录对应的二级标签为nil,我们从map结果数组集中去掉该nil元素了


不同的商品关联的二级标签存在相同的情况,如果我们想要map结果集里面去掉重复的元素,可以使用uniq,如下就只剩4条不同的结果:

把修改提交到远程仓库

git add .
git commit -m "map、compact、uniq、blank、present的使用"
git push -u https://github.com/xiaohuacc/active_record.git seventh/map_compact_uniq_blank_present

合并到主分支

git checkout master
git merge seventh/map_compact_uniq_blank_present

相关文章

网友评论

      本文标题:(7)map、compact、uniq、blank、presen

      本文链接:https://www.haomeiwen.com/subject/zevopttx.html