compact过滤数组中的nil

http://ruby-doc.org/core-2.2.0/Array.html#method-i-compact

compact → new_aryclick to toggle source

Returns a copy of self with all nil elements removed.

[ "a", nil, "b", nil, "c", nil ].compact
                  #=> [ "a", "b", "c" ]
 render :json => {
      :videos => result_videos.compact.map do |video|
        if video.class == CmsTvIVideo
          if video.video_type == "live"
            {
              :title => video.title,
              :live_name => video.live_name,
              :live_id=> video.live_id,
              :big_horizontal_image => video.res_img_l,
              :middle_horizontal_image => video.res_img_m,
              :big_vertical_image => video.res_img_s,
              :middle_vertical_image => video.middle_vertical_image,
              :mtype => "live"
            }
时间: 2024-10-13 20:07:20

compact过滤数组中的nil的相关文章

php中利用array_filter过滤数组为空值

[导读] 在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的.其实我们可以利用array_filter函数 在我们开发过程中,判断数组为空时你会想到什么方法呢?首先想到的应该是empty函数,不过直接用empty函数判断为空是不对的,因为当这个值是多维数的时候,empty结果是有值的. 其实我们可以利用array_filter函数轻松去掉多维空值,而数组的下标没有改变,下

07.C#中如何排除/过滤/清空/删除掉字符串数组中的空字符串

方式一:使用lambda表达式筛选过滤掉数组中空字符串         1 /// <summary> 2 /// 使用lambda表达式排除/过滤/清空/删除掉字符串数组中的空字符串 3 /// </summary> 4 /// <param name="args"></param> 5 static void Main(string[] args) 6 { 7 string[] strArray = { "",&q

[示例]NSPredicate基础-查询数组中负荷条件的子集

代码: #import <Foundation/Foundation.h> int main(int argc, const char * argv[]) { @autoreleasepool { /* 简述:Cocoa框架中的NSPredicate用于查询,原理和用法都类似于SQL中的where,作用相当于数据库的过滤取. 定义(最常用到的方法): NSPredicate这个类有点类似于数据库中的查询,是用于在一批内容中查询符合条件的子集,中文翻译成“谓词”.这个翻译实在让我感觉很别扭,虽然

NSPredicate过滤数组数据

NSPredicate编写软件时,经常需要获取一个对象集合,然后删除不满足条件的对象,保留符合条件的对象,从而提供一些有意义的对象.Cocoa提供了一个名为NSPredicate的类,他用于指定过滤器的条件.可以创建NSPredicate对象,通过该对象准确地描述所需的条件,对每个对象通过谓词进行筛选,判断他们是否与条件相匹配.Cocoa用NSPredicate描述查询的方式,原理类似于在数据库中进行查询.可以在数据库风格的API中使用NSPredicate类,例如Core Data和Spotl

PHP数组函数 数组中的杂项

array_change_key_case( $arr ,CASE_LOWER || CASE_UPPER) 返回键名全为大写或者是小写的数组 array_rand($arr , num) 从数组中随机取出一个或多个单元 shuffle(&$arr)   将数组打乱 array_chunk($arr , $size , bool) 把$arr 拆分,每个数组为$size 个元素 , bool 是否保持原来索引 array_combine( $arr , $arr2) 合并两个数组  $arr 的

Falsy Bouncer(过滤数组假值)

Falsy Bouncer 过滤数组假值 (真假美猴王) 删除数组中的所有假值. 在JavaScript中,假值有false.null.0."".undefined 和 NaN. function bouncer(arr) { // 请把你的代码写在这里 return arr.filter(function(a){ return !!a; }); } bouncer([false, null, 0, NaN, undefined, ""]); 本来也不会,参考了别人

vuex中filter的使用 &amp;&amp; 快速判断一个数是否在一个数组中

vue中filter的使用 computed: mapState({ items: state => state.items.filter(function (value, index, arr) { return index < 5 }) }), 如上所示,对于vuex,我们在使用mapState获取state时, 可以使用filter来过滤其中的元素,在filter的回调函数中接受三个参数,第一个是value,即每一个元素的值: 第二个是index, 即每一个元素所在的index, 第三个

解析plist文件(字典里包着数组,数组中又包含字典)

1 #import "RootTableViewController.h" 2 #import "City.h" 3 4 @interface RootTableViewController () 5 6 // 声明存放所有城市的大字典 7 @property (nonatomic, strong) NSMutableDictionary *allDataDict; 8 9 // 存储所有的key数组(存放省份) 10 @property (nonatomic, s

iOS 查询数组中的对象

通常情况下,根据一个条件在数组中查询出匹配的对象的方式有如下几种: (1)遍历数组,然后将每一个Item和这个条件进行比对,过滤出匹配的对象 显然这个效率比较低 (2)iOS提供另一个效率较高的查询方法,谓词NSPredicate,使用方法如下 C代码 收藏代码 1.NSString 对象 NSArray *array [email protected]["123", @"234" , @"345"]; NSPredicate *predicat