JS中的Array之方法(3)-之迭代

  1. (1). every(func(e,idx,arr))
  2. (2). some(func(e,idx,arr))
  3. (3). filter(func(e, idx, arr))
  4. (4). forEach(func(e, idx, arr))
  5. (5). map(func(e, idx, arr))
colors=["red", "橘色", "瓜皮色", "古铜色", "#aaa", "#bbb", "#ccc"]

(1). every(func(e,idx,arr))

// 对数组每一项都执行func,所有都返回true,结果才返回true,否则false;

colors.every(function(e,i,arr){  
    if(e.length>0){  
        alert(e.length)  
        return 1;  
   }else{  
        alert('Blank String');  
        return 0;  
   }  
});  

false;

(2). some(func(e,idx,arr))

//对数组每一项都执行func,某一个返回true,结果就返回true; 所有都返回false,  结果才是false;

a=2;  
colors.some(function(e,i,arr){  
    a=a+1;  
    if(e.length>0){  
        alert("Have one Not Empty")  
        return 1;  
   }else{  
        alert('Blank String');  
        return 0;  
   }  
});  
a 

a=3
//可见function只执行了一次,返回true就不执行了。

(3). filter(func(e, idx, arr))

// 对数组中每个元素执行func,返回其中为true的元素。
colors

[“red”, “橘色”, “瓜皮色”, “古铜色”, “#aaa”, “#bbb”, “#ccc”, “”]

filtered_colors = colors.filter(function(e, i, arr){  
    a=a+1;  
    if(e.length>0){  
        alert("Have one Not Empty")  
        return 1;  
   }else{  
        alert('Blank String');  
        return 0;  
   }  
});

[“red”, “橘色”, “瓜皮色”, “古铜色”, “#aaa”, “#bbb”, “#ccc”]
//a=10

(4). forEach(func(e, idx, arr))

// 对数组中的每一个元素执行指定函数func,无返回值。

colors.forEach(function(e,i,arr){  
    alert('元素:' + e + ',索引:' + i + ';数组是:【' + arr + '】');  
});  

(5). map(func(e, idx, arr))

// 对数组每个元素执行指定函数func,返回结果是一个数组,其中的元素是每个元素执行func函数时调用的返回值。

arr = colors.map(function(e,i,arr){  
    return e + '@' + i + '@' + e.length;  
});  
arr   

[“red@0@3”, “橘色@1@2”, “瓜皮色@2@3”, “古铜色@3@3”, “#aaa@4@4”, “#bbb@5@4”, “#ccc@6@4”, “@7@0”]

—[2014-08-08]—


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 hi@niewj.com

×

喜欢就点赞,疼爱就打赏