every()方法
測試數(shù)組中所有元素是否都通過指定函數(shù)的測試,若有一項返回false即返回false;
every方法為數(shù)組的每個元素執(zhí)行一次callback函數(shù)(不包括通過某些方法刪除或者未定義的項米奸,值定義為undefined的項除外)昼接,直到找到一個使callback返回false(可轉(zhuǎn)化為false的值),跳出迭代并返回false悴晰。否則(所有元素則返回true)返回true慢睡。
語法:
array.every(function(currentValue,index,arr), thisValue)
- 例子:
function isBigEnough(element){
return (element >=10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
// passed is true
filter()方法
使用指定的函數(shù)測試所有的元素,創(chuàng)建并返回一個包含所有通過測試的元素的新數(shù)組铡溪。
filter為數(shù)組中的每個元素調(diào)用一次callback(不包括通過某些方法刪除或者未定義的項漂辐,值定義為undefined的項除外),并利用有callback返回true或等價于true的元素創(chuàng)建一個新數(shù)組佃却,未通過callback測試的元素會被跳過者吁,不會包含在新數(shù)組里。
var a = [1, 2, 3, 7,4].filter(function(value){
return value > 4
})
console.log(a)//[7]
forEach()方法
- forEach() 方法用于調(diào)用數(shù)組的每個元素饲帅,并將元素傳遞給回調(diào)函數(shù)复凳。
function logArrayElements(element, index, array) {
console.log("a[" + index + "] = " + element);
}
[2, 5, 4,9].forEach(logArrayElements);
// a[0] = 2
// a[1] = 5
// a[2] = 4
// a[3] = 9
map()方法
- 為數(shù)組每一項執(zhí)行一個指定函數(shù),返回一個新數(shù)組灶泵,每個元素都是回調(diào)函數(shù)的結(jié)果育八。
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
/* roots的值為[1, 2, 3], numbers的值仍為[1, 4, 9] */
some()方法
- 若有一項返回true即返回true。
var a = [1, 2, 3, 7,4].some (function(value){
return value > 8
})
console.log(a)//false
a = [1, 2, 3, 9,4].some (function(value){
return value > 8
})
console.log(a)//true
for循環(huán)
for( var index = 0; index < array.length; i ++){}
for-in循環(huán)
var obj = {a:1, b:2, c:3};
for (var prop in obj) {
console.log("obj." + prop + " = " + obj[prop]);
}
// 輸出:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"
for-of循環(huán)
- ES6里引入了一種新的循環(huán)方法赦邻,它就是for-of循環(huán)髓棋,它既比傳統(tǒng)的for循環(huán)簡潔,同時彌補(bǔ)了forEach和for-in循環(huán)的短板惶洲。
let iterable = [10, 20, 30];
for (let value of iterable) {
console.log(value);
}
// 10
// 20
// 30