遍歷數組裏的每一個元素,直接在回調函數裏對每一個元素進行操做,沒有返回值。
let animals = ['dog', 'cat', 'pig']; animals.forEach( item => { console.log(item); });
過濾數組中的某些元素,在回調函數中設置條件,不知足的都會被過濾掉,返回一個新數組。
let animals = [ {name: 'dog', age: 2}, {name: 'cat', age: 5}, {name: 'pig', age: 1}, {name: 'peacock', age: 8} ]; let newAnimals = animals.filter( item => { // 找到年齡大於3的動物 return item.age > 3; }); console.log(newAnimals);
遍歷整個數組裏,返回一個新數組,新數組裏的元素通過的指定回調函數的處理。
let animals = [ {name: 'dog', age: 2}, {name: 'cat', age: 5}, {name: 'pig', age: 1}, {name: 'peacock', age: 8} ]; let newAnimals = animals.map( item => { // 每種動物的年齡加個單位'年' item.age = item.age + '年'; return item; }); console.log(newAnimals);
對數組中的每一個元素都執行回調函數,直到此函數返回 false;若是回調函數對每一個元素執行後都返回 true ,every 將返回 true。
let passed = [12, 5, 8, 130, 44]; let result = passed.every( item => { console.log(item); // 結果:12 // 結果:5 return (item >= 10); }); console.log(result); // 結果:false passed = [12, 54, 18, 130, 44]; result = passed.every( item => { console.log(item); // 結果:12 // 結果:54 // 結果:18 // 結果:130 // 結果:44 return (item >= 10); }); console.log(result); // 結果:true
對數組中的每一個元素都執行回調函數,直到此函數返回 true;若是回調函數對每一個元素執行後都返回 false ,some 將返回 false。
let passed = [2, 5, 8, 1, 4]; let result = passed.some( item => { console.log(item); // 結果:2 // 結果:5 // 結果:8 // 結果:1 // 結果:4 return (item >= 10); }); console.log(result); // 結果:false passed = [12, 5, 8, 1, 4]; result = passed.some( item => { console.log(item); // 結果:12 return (item >= 10); }); console.log(result); // 結果:true