JavaScript常用的遍历数组的方法

forEach() 方法

  • 遍历数组里的每个元素,直接在回调函数里对每个元素进行操作,没有返回值。
    let animals = ['dog', 'cat', 'pig'];
    animals.forEach( item => {
        console.log(item);
    });

filter() 方法

  • 过滤数组中的某些元素,在回调函数中设置条件,不满足的都会被过滤掉,返回一个新数组。
    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);

map() 方法

  • 遍历整个数组里,返回一个新数组,新数组里的元素经过的指定回调函数的处理。
    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);

every() 方法

  • 对数组中的每个元素都执行回调函数,直到此函数返回 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

some() 方法

  • 对数组中的每个元素都执行回调函数,直到此函数返回 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

你可能感兴趣的