var jsonObject = {
"articles":[
{
"name":"aaa",
"date":"10/13/15",
"views":65
},
{
"name": "aa",
"date": "10/01/14",
"views": 512
},
{
"name":"ccc",
"date":"10/17/15",
"views":175
},
{
"name":"bbb",
"date":"10/11/15",
"views":54
},
{
"name":"ddd",
"date":"10/17/15",
"views":6
}
]
};
function compareByName(a, b) {
var namea = a.name, nameb = b.name;
for(var i = 0; i < namea.length && i < nameb.length; i++) {
if(namea.charCodeAt(i) !== nameb.charCodeAt(i))
return namea.charCodeAt(i) - nameb.charCodeAt(i);
}
return namea.length - nameb.length;
}
function compareByViews(a, b) {
return a.views - b.views;
}
jsonObject.articles.sort(compareByName);
jsonObject.articles.forEach(function (e) {
print(e.name);
});
print("");
jsonObject.articles.sort(compareByViews);
jsonObject.articles.forEach(function (e) {
print(e.name);
});
dmFyIGpzb25PYmplY3QgPSB7CiAgICAiYXJ0aWNsZXMiOlsKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjoiYWFhIiwKICAgICAgICAgICAgImRhdGUiOiIxMC8xMy8xNSIsCiAgICAgICAgICAgICJ2aWV3cyI6NjUKICAgICAgICB9LAogICAgICAgIHsKCQkJIm5hbWUiOiAiYWEiLAoJCQkiZGF0ZSI6ICIxMC8wMS8xNCIsCgkJCSJ2aWV3cyI6IDUxMgogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ImNjYyIsCiAgICAgICAgICAgICJkYXRlIjoiMTAvMTcvMTUiLAogICAgICAgICAgICAidmlld3MiOjE3NQogICAgICAgIH0sCiAgICAgICAgewogICAgICAgICAgICAibmFtZSI6ImJiYiIsCiAgICAgICAgICAgICJkYXRlIjoiMTAvMTEvMTUiLAogICAgICAgICAgICAidmlld3MiOjU0CiAgICAgICAgfSwKICAgICAgICB7CiAgICAgICAgICAgICJuYW1lIjoiZGRkIiwKICAgICAgICAgICAgImRhdGUiOiIxMC8xNy8xNSIsCiAgICAgICAgICAgICJ2aWV3cyI6NgogICAgICAgIH0KICAgIF0KfTsKCmZ1bmN0aW9uIGNvbXBhcmVCeU5hbWUoYSwgYikgewoJdmFyIG5hbWVhID0gYS5uYW1lLCBuYW1lYiA9IGIubmFtZTsKICAgIGZvcih2YXIgaSA9IDA7IGkgPCBuYW1lYS5sZW5ndGggJiYgaSA8IG5hbWViLmxlbmd0aDsgaSsrKSB7CgkJaWYobmFtZWEuY2hhckNvZGVBdChpKSAhPT0gbmFtZWIuY2hhckNvZGVBdChpKSkKICAgICAgICAgICAgcmV0dXJuIG5hbWVhLmNoYXJDb2RlQXQoaSkgLSBuYW1lYi5jaGFyQ29kZUF0KGkpOwogICAgfQogICAgcmV0dXJuIG5hbWVhLmxlbmd0aCAtIG5hbWViLmxlbmd0aDsKfQoKZnVuY3Rpb24gY29tcGFyZUJ5Vmlld3MoYSwgYikgewoJcmV0dXJuIGEudmlld3MgLSBiLnZpZXdzOwp9Cgpqc29uT2JqZWN0LmFydGljbGVzLnNvcnQoY29tcGFyZUJ5TmFtZSk7Cgpqc29uT2JqZWN0LmFydGljbGVzLmZvckVhY2goZnVuY3Rpb24gKGUpIHsKCXByaW50KGUubmFtZSk7Cn0pOwpwcmludCgiIik7Cgpqc29uT2JqZWN0LmFydGljbGVzLnNvcnQoY29tcGFyZUJ5Vmlld3MpOwoKanNvbk9iamVjdC5hcnRpY2xlcy5mb3JFYWNoKGZ1bmN0aW9uIChlKSB7CglwcmludChlLm5hbWUpOwp9KTs=