each_.each(list, iteratee, [context]) Alias: forEach
遍历list中的所有元素,按顺序用每个元素当做参数调用iteratee函数。如果传递了context参数,则把iteratee绑定到contet对象上。每次调用iteratee
绑定到context对象上。
每次调用iteratee都会传递三个参数:(element,index,list).如果list是各Javascript对象,iteratee的参数是(value,key,list).返回的list以方便链式调用
_.each(selectField,function (value, key) {
logData.push({
"field":key,
"oldValue":selectField[key],
"newValue":""
});
});
map _.map(list,iteratee,[context]) Alias:collect
通过对list里的每个元素调用转换函数(iteratee迭代器)生成一个与之相对应的数组。iteratee传递三个参数:value,然后是迭代index(或key 如果list是个Javasript对象,这个参数就是key) 最后一个是引用指向整个list
var conditions = _.map(condition, function(o){
return _.extend(o, {SPVID: that.SPVID})
});
find _.find(list,predicate,[context]) Alias:detect
在list中逐项查找,返回第一个通过predicate迭代函数真值检测的元素值,如果没有元素通过检测则返回undefined。如果找到匹配的元素,函数将立即返回,不会遍历整个list
//默认置灰【停止清算】
var stopBtn = _.find(that.$clearGrid.datagrid("options").toolbar,
function(obj){
return obj.iconCls == "icon-remove";
});
filter _.filter(list,predicate,[context]) Alias: select
遍历list中的每个值,返回所有通过predicate真值检测的元素组成的数组。(注:如果存在原生filter方法,则用原生的filter方法)
conditionInfo = _.filter(conditionInfo, function(condData){
return -1 >= _.indexOf(condArr, condData.CONDITIONID)&&
-1 >= _.indexOf(["8005", "8006", "8104", "8105", "8204", "8205"], condData.CONDITIONID);
});
$spvId.combobox({//这里是过滤操作
loadFilter: function(data) {
return _.filter(data,function (spv){
return spv.CUSTODIANID =="0";
//表示没有托管人
})
}
});
var clearRows1 = _.filter(clearRows, function(clearData){
return clearData.STATUS != 2;
});
pluck _.pluck(list,propertyName)
pluck也需是map最常用的用例模型的简化版本,即萃取数组对象中某属性值,返回一个数组
var stooges = [{name: 'moe', age: 40}, {name: 'larry', age: 50}, {name: 'curly', age: 60}];
_.pluck(stooges, 'name');
=> ["moe", "larry", "curly"]
//若不存在正在执行的步骤,则取消置灰【开始清算】按钮
var clearArrs = _.pluck(that.$clearGrid.datagrid("getRows"),'STATUS');
var clearArrs = _.pluck(clearRows,'STATUS');
if(_.indexOf(clearArrs, '2') > -1 ){
var clearRows1 = _.filter(clearRows, function(clearData){
return clearData.STATUS != 2;
});
}
var spvs = _.pluck(spvCustodianuserRights, 'SPVID').join(",");
var spvManager = _.pluck(that.model.get("spvCustodian"), 'SPVID');
pick _.pick(object,*keys)
返回一个object副本,只过滤出keys(有效的键组成的数组)参数指定的属性值,或者接受一个判断函数,指定挑选哪个key
_.pick({name: 'moe', age: 50, userid: 'moe1'}, 'name', 'age');
=> {name: 'moe', age: 50}
_.pick({name: 'moe', age: 50, userid: 'moe1'}, function(value, key, object) {
return _.isNumber(value);
});
=> {age: 50}
indexOf _.indexOf(array,value,[isSorted])
返回value在该array中的索引值,如果value不存在array中返回-1。使用原生的indexOf函数,除非他失效。如果你正在使用一个大叔组,你知道数组研究排序,传递true给isSorted讲更快的额用二进制搜索。
或者传递一个数字作为第三个参数,为了在给定的索引值的数组中寻找第一个匹配值。
_.indexOf([1,2,3],2);
=> 1