lodash的2个数组对象操作

来源:互联网 发布:在中国的外国人 知乎 编辑:程序博客网 时间:2024/06/06 16:34

根据数组对象 下的属性名称 来返回相应 的值

数据格式如下

var data=[{test1:[...]},{test2:[...]},{test3:[...]},{test4:[...]},{test5:[...]}]var key='test1';

对象的每个属性名称不是相同的,对应的值 是一个数组
方法1:将data初始化到lodash中,map相应的key,使用filter过滤 掉undefined的值,使用flatMap合并 数组结果,value()函数执行该链式

var res=_(data).map(key).filter().flatMap().value();

方法2:
使用find,传入相应 的判断条件 ,返回 对应 的object

var res=_.find(data,function(o){return o[key]!=undefined});

方法3:原始的方式,循环,判断 属性是否存在

for(var x in data){    if(data[x][key]!=undefined){        return data[x][tmp];        break;    }}

根据数组对象的某个元素是的值 否为true,筛选出该对象 其他元素的数据

数据格式如下

var data=[{isSelect:true,code:'code1'},{isSelect:false,code:'code2'},{isSelect:false,code:'code3'},{isSelect:true,code:'code4'}...]

筛选出所有的isSelect为true的code值 ,使用逗号隔开

var selecteds = _.filter(data, {isSelect:true});var res = _.map(selecteds, 'code').join(',');
0 0