Skip to content

Instantly share code, notes, and snippets.

@rzkhosroshahi
Last active January 28, 2018 14:52
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rzkhosroshahi/f0bdf66b284630213d93575cea017099 to your computer and use it in GitHub Desktop.
Save rzkhosroshahi/f0bdf66b284630213d93575cea017099 to your computer and use it in GitHub Desktop.
function normalizeDependOn(key, id) {
var depend = id || "id";
return key.reduce(function(data,oldData) {
data[oldData[depend]] = oldData;
return data;
},{});
}
var data = {
"food": [
{
categoryId:"123",
foods:["ghorme, gheimeh, fesenjoon"]
},
{
categoryId:"345",
foods:"gilas"
},
{
categoryId:"5456",
foods:"bademjoon"
}
],
"category": [
{
id:"123",
name:"khoshmazeha"
},
{
id:"345",
name:"nestbanha"
},
{
id:"5456",
name:"eeey"
}
]
};
var normalCategory = normalizeDependOn(data["category"]);
var normalFood = normalizeDependOn(data["food"],"categoryId");
console.log("category",normalCategory);
console.log("food",normalFood);
console.log("delicious foods",normalFood['123'].foods); // ["ghorme, gheimeh, fesenjoon"]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment