Filtering JSON data
Why not do this?
var json = JSON.parse('{"posts": [ { "title":"1", "url":"n1.png" }, { "title":"2", "url":"n2.png" }, { "title":"3", "url":"n3.png" }, { "title":"4", "url":"n4.png" }, { "title":"5", "url":"n5.png" }, { "title":"6", "url":"n6.png" }, { "title":"7", "url":"n7.png" }, { "title":"8", "url":"n8.png" }, { "title":"9", "url":"n9.png" }, { "title":"10", "url":"n10.png" }]}');var filteredJson = json.posts.filter(function (row) { if(row.title matches your criteria) { return true } else { return false; }});
Yes, its an ES5 method but that can be shimmed quite nicely
I use Linq JS on my current project and it works really well for filtering data.
var posts = [ { "title":"1", "url":"n1.png" }, { "title":"2", "url":"n2.png" }, { "title":"3", "url":"n3.png" }, { "title":"4", "url":"n4.png" }, { "title":"5", "url":"n5.png" }, { "title":"6", "url":"n6.png" }, { "title":"7", "url":"n7.png" }, { "title":"8", "url":"n8.png" }, { "title":"9", "url":"n9.png" }, { "title":"10", "url":"n10.png" }];var filteredPost = JSLINQ(posts) .Where(function(item){ return item.title >= "textBox1Value" && item.title <= "textBox2Value"; });
There is another solution to this: using jLinq.js (documentation), which has even more features. In this case, you can get the solution by using the following code:
var selectedPosts = jLinq.from(posts) .betweenEquals("title",4,8) .select();