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
相關文章
相關標籤/搜索