Facebook API呼び出しからの応答をJavascript配列に格納する方法を知りたいと思います。Facebook Graph APIのレスポンスをJavascript配列として保存するにはどうすればいいですか?
これは私が作っているコールです:
FB.api('/MYAPPID/scores/?fields=user', function(response) {
for (var i = 0; i < response.data.length; i++){
var grabbedarray = response.data[i].user.id;
console.log(grabbedarray);
}
})
コールFB.api('/MYAPPID/scores/?fields=user'
は、配列内の各要素の「名前」と「ID」の性質を持っているデータセットを返しますが、私は興味配列の "id"部分を格納する際に使用します。
上記のコードは、呼び出しの応答を繰り返し、配列の各行にあるuser.id
をチェックし、console.logにその行のIDを示します。つまり、var grabbedarray
がコンソールに複数回表示され、毎回異なるIDが表示されます。私はなぜこれが起こっているのか理解していますが、すべてのIDを1つの配列に格納しようとしています。その後、console.logにしたいと思います。
だから、コンソールの最終的な結果は次のようなものでなければなりません:私は、応答はIDのリストだけが表示されますことを期待してFB.api('/MYAPPID/scores/?fields=user.id'
への呼び出しを変更しようとしましたが、それは働いていない
[456345624, 256456345, 253456435727, 376573835, 2652453245]
。
この問題を解決する方法はありますか? ありがとうございます!
こんにちは@irkeninvaderあなたの答えに感謝!あなたが与えた最初の答えは完璧に機能していました。私は、ブラウザ間の互換性の観点から、あなたの2つの方法のうちのどれが最善のものだろうと思っていましたか?つまり、 '' push'メソッドと同じくらい多くのブラウザバージョンで '' map''がサポートされていますか?再度、感謝します! – Emily
'map'はIE8ではサポートされていなかったので、IE9 +と他のすべてのブラウザはそれをサポートしなければなりません。最初のアプローチに何も問題はないが、心配している場合は! – IrkenInvader
華麗な、ありがとう! :) – Emily