(7)map、compact、uniq、blank、present的使用

切换到新的分支进行开发

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 在上篇中,我们已经讨论过如何去实现一个 Map 了,并且也讨论了诸多优化点。在下篇中,我们将继续讨论如何实现一个线...
    一缕殇流化隐半边冰霜阅读 12,285评论 5 41
  • 1. 简介 1.1 什么是 MyBatis ? MyBatis 是支持定制化 SQL、存储过程以及高级映射的优秀的...
    笨鸟慢飞阅读 11,165评论 0 4
  • HTML标签解释大全 一、HTML标记 标签:!DOCTYPE 说明:指定了 HTML 文档遵循的文档类型定义(D...
    米塔塔阅读 8,675评论 1 41
  • 在我们的日常视频创作中,经常需要进行视频转码,这个时候我们就可以使用Media Encoder 在我们的日常视频创...
    江君是也阅读 45,688评论 0 11
  • “奇葩说”是一个人气极高的辩论类的综艺类节目,由马东主持,风格诙谐幽默,节目轻松愉快,更重要的是节目中从主持人、导...
    古傲君阅读 4,949评论 0 2