2017-04-02 103 views
-1

我有帳戶的對象,例如:Javascript:我如何使用過濾器()過濾出具有特定值的特定對象?

{ 
     "amount": "822370.71", 
     "state": "ME" 
    }, 
    { 
     "amount": "968817.53", 
     "state": "FL" 
    }, 
    { 
     "amount": "587603.26", 
     "state": "OH" 
    }, 
    { 
     "amount": "657617.83", 
     "state": "OH" 
    }, 
    { 
     "amount": "657617.83", 
     "state": "FL" 
    } 

比方說,我想篩選出只能用「FL」的狀態的對象和「OH」,我該如何使用過濾器()做那?謝謝。

+0

例如這裏 - https://www.w3schools.com/jsref/jsref_filter.asp – Charlesliam

回答

3

試試這個

function filterArray (item) { 
    if (item.state === "OH" || item.state === "FL"){ 
     return item; 
    } 
} 

var resultArray = yourArray.filter(filterArray); 
console.log(resultArray); 
+1

'返回item.state === 「OH」 || item.state ===「FL」;'會產生相同的結果。 –

+0

是的,它會產生相同的結果 – forJ

1

試試這個:

var array = [{ 
 
     "amount": "822370.71", 
 
     "state": "ME" 
 
    }, 
 
    { 
 
     "amount": "968817.53", 
 
     "state": "FL" 
 
    }, 
 
    { 
 
     "amount": "587603.26", 
 
     "state": "OH" 
 
    }, 
 
    { 
 
     "amount": "657617.83", 
 
     "state": "OH" 
 
    }, 
 
    { 
 
     "amount": "657617.83", 
 
     "state": "FL" 
 
    }]; 
 
    
 
    var filterArray = array.filter(function(item){ 
 
     return item.state === 'FL' || item.state === 'OH'; 
 
    }); 
 
    
 
    console.log(filterArray);

0

使用array.filter(callback)這需要一個函數只有一個參數和返回符合您需要的條件的值:

var testArray = [ { 
     "amount": "822370.71", 
     "state": "ME" 
    }, 
    { 
     "amount": "968817.53", 
     "state": "FL" 
    }, 
    { 
     "amount": "587603.26", 
     "state": "OH" 
    }, 
    { 
     "amount": "657617.83", 
     "state": "OH" 
    }, 
    { 
     "amount": "657617.83", 
     "state": "FL" 
    }]; 
    var filtered = testArray.filter(isStateFLorOH); 

和溫控功能的回調應該是這樣的:

function isStateFLorOH(value){ 

if(value.state == "FL" || value.satate == "OH") 
return value; 
}