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

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的元素。
colorscode

["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函數時調用的返回值。io

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]---function

相關文章
相關標籤/搜索