2016-09-28 4 views
-2

私はオブジェクトをフィルタリングしようとしているが、動作しません....フィルタオブジェクトJS

は、これはコードです:

let obj = Object.assign({},[{ 
     "_id": 1, 
     "fecha": "2016-09-28T20:49:00.000Z" 
    }, { 
     "_id": 2, 
     "fecha": "2016-09-26T20:48:00.000Z" 
    }, { 
     "_id": 3, 
     "fecha": "2016-09-26T21:04:00.000Z" 
    }, { 
     "_id": 4, 
     "fecha": "2016-09-23T21:02:00.000Z" 
    }, { 
     "_id": 14, 
     "fecha": "2016-09-24T21:02:00.000Z" 
    }, { 
     "_id": 15, 
     "fecha": "2016-09-24T21:01:00.000Z" 
    }, { 
     "_id": 17, 
     "fecha": "2016-09-23T19:04:00.000Z" 
    }, { 
     "_id": 18, 
     "fecha": "2016-09-23T19:24:00.000Z" 
    }, { 
     "_id": 23, 
     "fecha": "2016-09-23T21:04:00.000Z" 
    }] 
); 
console.log(obj); 

let result = obj.filter(item => item._id == 1)[0]; 
console.log(result); 

結果は次のとおりです。

オブジェクトオブジェクト0:オブジェクト1:オブジェクト2:オブジェクト3:オブジェクト4:オブジェクト5:関数(...)

注:objはありません関数内で定義されているが、それは別のシステムから来るが、あなたの欠点を示すために書く。

+0

フィルタは配列メソッドです。 'let obj = [{' then no errors] – mplungjan

+0

'Object'でフィルタを実行することはできません。 –

+0

'Object.assign({}、[])'は無意味です。 – igl

答えて

1

のメソッドをObjectに使用することはできない。オブジェクトとして変数objを受け取ったとします。それを配列に変換する必要があります。これを試してください:

Object.keys(obj).map((i) => obj[i]).filter(e => e._id === 1) 
+0

ありがとうございました!!!! –

+0

あなたの質問を閉じるための答えとしてそれをチェックしてください。ありがとうございました ! =) –

関連する問題