0
私はGETリクエストから取得したJsonオブジェクトの 'text'キーの値をtwitライブラリ経由で取得しようとしています。有効な条件でarray.filterを使用するときに同じオブジェクトを取得する
私は関数型プログラミングをしたいので、私は配列上でフィルタ関数を使用しようとしています。
IはT.get関数にコールバック関数内でJSONオブジェクトを使用することができます。
const gotData = function(err, data, response) {
console.log(data)
}
T.get('search/tweets', params , gotData)
は、それからアレイである状態のそれぞれのテキストキーにのみ値をフィルタリングします
let results = data.statuses.filter(
function(result){ return result.hasOwnProperty('text')
})
しかし、私は戻って同じdata.statusesを取り戻す...:オブジェクト
のだから私はこれを試してみましたか?
オブジェクトのテキストキーの値だけを取得したいのですが、何が間違っていますか?
これは私の全体のコードです:
const Twit = require('twit')
const config = require('./config')
const T = new Twit(config)
let params = { q: 'drum', count: 2 }
const gotData = function(err, data, response) {
let results = data.statuses.filter(function(result){ return result.hasOwnProperty('text')})
console.log(results)
}
T.get('search/tweets', params , gotData)
そして、このgotData機能上のデータに対応して私が取得JSONレスポンスのサンプル:あなたはちょうど
{ statuses:
[ { created_at: 'Sun May 07 11:35:16 +0000 2017',
id: 861182642888343600,
id_str: '861182642888343552',
text: '@was_going \nEvery hunk bore seven drums,\nEvery drum owned seven drums…',
truncated: false,
entities: [Object],
metadata: [Object],
source: '<a href="http://cheapbotsdonequick.com" rel="nofollow">Cheap Bots, Done Quick!</a>',
in_reply_to_status_id: 861181362954489900,
in_reply_to_status_id_str: '861181362954489856',
in_reply_to_user_id: 795028044758949900,
in_reply_to_user_id_str: '795028044758949888',
in_reply_to_screen_name: 'was_going',
user: [Object],
geo: null,
coordinates: null,
place: null,
contributors: null,
is_quote_status: false,
retweet_count: 0,
favorite_count: 0,
favorited: false,
retweeted: false,
lang: 'en' },
{ created_at: 'Sun May 07 11:35:09 +0000 2017',
id: 861182610596405200,
id_str: '861182610596405248',
text: 'Would you rather have Data storage or A pedal assembly for a bass drum or high hat cymbals?',
truncated: false,
entities: [Object],
metadata: [Object],
source: '<a href="http://cheapbotsdonequick.com" rel="nofollow">Cheap Bots, Done Quick!</a>',
in_reply_to_status_id: null,
in_reply_to_status_id_str: null,
in_reply_to_user_id: null,
in_reply_to_user_id_str: null,
in_reply_to_screen_name: null,
user: [Object],
geo: null,
coordinates: null,
place: null,
contributors: null,
is_quote_status: false,
retweet_count: 0,
favorite_count: 0,
favorited: false,
retweeted: false,
lang: 'en' } ],
search_metadata:
{ completed_in: 0.034,
max_id: 861182642888343600,
max_id_str: '861182642888343552',
next_results: '?max_id=861182610596405247&q=drum&count=2&include_entities=1',
query: 'drum',
refresh_url: '?since_id=861182642888343552&q=drum&include_entities=1',
count: 2,
since_id: 0,
since_id_str: '0' } }
ありがとう、1つの質問、どのようにこの例で来る:https://youtu.be/BMUiFMZr7vk?t=7m55sそこにマップする必要はありません、そこに、それはちょうど条件をチェックしていると、 '犬'取得新しいフィルタリングされた配列が割り当てられましたか?しかし、ここで私はそれをマップする必要がありますか? –
@GiorgioMartini彼は決して出力を表示しません...そしてはい、フィルタは動作しますが、オブジェクトの配列を取得します。 –