基本上我需要一些库/函数集来允许我在数组上执行高级函数。
例如:
var jsondata = "SearchResponse":{ "Version":"2.0","Query":{
"SearchTerms":"sushi"},"Web":{ "Total":15000000,"Offset":0,"Results":[
{ "Title":"Sushi - Wikipedia, the free encyclopedia","Description":"In
Japanese cuisine, sushi (寿司, 鮨, 鮓, sushi?) is vinegared rice, usually
topped with other ingredients, including fish (cooked or uncooked) and
vegetables.","Url":"http:\/\/en.wikipedia.org\/wiki\/Sushi","DisplayUrl
":"http:\/\/en.wikipedia.org\/wiki\/Sushi","DateTime":"2008-06-
09T06:42:34Z"}]}} /* pageview_candidate */}
var filterdata = filter(jsondata, {"Title":"Sushi - Wikipedia, the free encyclopedia"});
然后filterdata
将包含jsondata中具有标题Sushi - Wikipedia, the free encyclopedia
答案 0 :(得分:3)
看看underscore.js。您可能无法完全按照问题编写代码,但它接近它:
_.filter(jsondata.Web.Results, function (val) {
return val.Title === "Sushi - Wikipedia, the free encyclopedia";
});
答案 1 :(得分:1)
看看PHP.js。它为JavaScript带来了PHP的力量。
答案 2 :(得分:1)
嗯,首先,jsondata
是一个对象,而不是一个数组;但是jsondata.Web.Results
属性是一个数组。考虑到这一点,您可以使用JavaScript Array.filter方法。
var results = jsondata.Web.Results.filter(function (value) {
// Return true if you want this 'value' object to appear in the 'results' Array.
return (value.Title === "Sushi - Wikipedia, the free encyclopedia");
});
如果你想用Arrays做更认真的工作,那么包含一个Collections Framework是明智的。 JavaScript最受欢迎的是underscore.js。对集合的深刻理解将为您的编程事业带来未来的回报。