this postの回答が受け入れられ、JS Fiddleが含まれているため、jQuery.grep()を使用してデータをフィルタできることを確認できました。しかし、サーバーからの出力を使ってエフェクトを再現することはできません。私は、オブジェクトの参照で明白な何かを見落としていると思うが、JavaScriptを初めて使う人には、私のためにそれを指摘する必要があると思う。jQuery.grep()でフィルタリングするJSONオブジェクトの参照
これは私のデータ出力、オブジェクトの配列である:私は、カテゴリF内のエントリをフィルタリングするために、次のコードを使用し
[{"id":"3","src":"url1","category":"A"},
{"id":"32","src":"url2","category":"D"},
{"id":"38","src":"url3","category":"E"},
{"id":"39","src":"url4","category":"E"},
{"id":"42","src":"url5","category":"F"},
{"id":"49","src":"url6","category":"B"},
{"id":"44","src":"url7","category":"F"}]
:
var obj = [{"id":"3","src":"url1","category":"A"},
{"id":"32","src":"url2","category":"D"},
{"id":"38","src":"url3","category":"E"},
{"id":"39","src":"url4","category":"E"},
{"id":"42","src":"url5","category":"F"},
{"id":"49","src":"url6","category":"B"},
{"id":"44","src":"url7","category":"F"}];
obj = $.grep(obj, function(element, index){
return element.category == "F" // keep elements in category F
});
console.log(obj);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
これは私ですサーバーへのAjaxコール:
var obj = $.post(url, {term: term }, function(data){
}, 'json'
);
console.log(obj);
を実行すると、自分のデータがコンソールでObjectとして出力されていますが、そのデータは表示されません。 grep関数が機能するためには、オブジェクトの配列として出力にアクセスする必要があります。そこには、私を待っていますが、どうすればそれを参照できますか?
内の応答データにアクセスする必要は約束しませ応答データ
ですオブジェクトの配列です。 [MDN配列](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array#Accessing_array_elements) – destoryer
文字列の比較を行うときは、常に三重等号(===)を使用します。 –
@Samuel、なぜ===ではない==?どちらも私のケースではうまくいくようです。 – guiltybyintent