array2string = function(data) { var out = ""; if (data && "url" in data && "title" in data) { out = data.title + " ( " + data.url + " ) "; } for (var key in data) { if (key !== "title" && key !== "url" && data[key]) { out = out + " " + key + ':' + data[key]; } }; return out; } array2string_html = function(data) { var out = ""; if (data && "url" in data) { out = out + " <a href=\"" + data.url + "\">" + data.title + "</a>"; } for (var key in data) { if (key !== "title" && key !== "url" && data[key]) { out = out + " " + key + ':' + data[key]; } }; return out; } exports.arraylist2string = function(data) { var out = "" for (var i = 0; i < data.length; i++) { out = out + array2string_html(data[i]) + " "; }; return out; } exports.arraylist2string_html = function(data) { var out = "<ul>" for (var i = 0; i < data.length; i++) { out = out + "<li>" + array2string_html(data[i]) + "</li>"; }; return out + "</ul>"; } exports.subset = function(obj, propList) { return propList.reduce(function(newObj, prop) { obj.hasOwnProperty(prop) && (newObj[prop] = obj[prop]); return newObj; }, {}); }