javascript中some,every,map,filter是只用和ansyc中的each,eachLimit,map,mapLImit,filter的使用

var t = [1,2,3,4,5];

//some找到数组中第一个符合要求的值后就不在继续执行
//用来判断数组中是否存符合要求的值,返回结果true|false
//function返回类型为bool
var some = t.some(function(item){ if(item % 2 === 0){ return true; }else{ return false; }});
console.log(some);

//every匹配每一个元素,直到有一个返回false为止
//function返回类型为布尔
var every = t.every(function(item){ if(item % 2 !== 0){ return true; }else{ console.log(item); return false; }});
console.log(every);

//map处理数组中的所有值并返回处理后的值,不影响原数组,返回结果为新的数组
//function返回类型为item的类型
var map = t.map(function(item){ return item + 1; });
console.log(map);

//filter数组元素过滤,把返回true的汇集成新的数组,返回结果为新的数组
//function返回类型为bool
var filter = t.filter(function(item){ if(item % 2 === 0){ return true; }else{ return false; } });
console.log(filter);

console.log('------------------------');
async.eachLimit(t, 2, function(item, cb){
console.log("each limit item=" + item);
cb();
}, function(err){
console.log("end.....");
});

async.map(t, function(item, cb){
console.log("map item = " + item);
cb();
}, function(err){
console.log("end........");
});
async.mapLimit(t, 2, function(item, cb){
console.log("map limit item = " + item);
cb();
}, function(err){
console.log("end......");
});
async.filter(t, function(item, cb){
if(item % 2 === 0){
cb(true);
}else{
cb(false);
}
}, function(result){
console.log(result);
});

posted @ 2015-01-13 17:28  ajunfly  阅读(2966)  评论(0编辑  收藏  举报