遍历数组里的每一个元素,直接在回调函数里对每一个元素进行操做,没有返回值。
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