function getAllVariables(){ var searchVarByValue = function(searchString){ var values = Object.keys(this.ValueToVar); var findings = []; for (var i=0; i< values.length; i++){ if (values[i] == undefined) continue; var position = values[i].toLowerCase().indexOf(searchString.toLowerCase()); if (position != -1){ findings.push({ 'variable': this.ValueToVar[values[i]], 'value' : values[i] }); } } return findings; } var returnObject = {}; returnObject.VarToValue = []; returnObject.ValueToVar = []; returnObject.Vars = []; returnObject.Values = []; returnObject.search = searchVarByValue; for (var variableName in this) { try{ var value = JSON.stringify(this[variableName]); returnObject.VarToValue[variableName] = value; if (this[variableName] != null){ returnObject.ValueToVar[value] = variableName; returnObject.Values.push(value); } returnObject.Vars.push(variableName); } catch{ continue; } } return returnObject; }