Underscore Reformat Array based on a configuration array
Underscore Reformat Array based on a configuration array
by Nirvanachain
HTML
<script src="http://underscorejs.org/underscore-min.js"></script>
<a href="http://stackoverflow.com/questions/23092155/add-new-property-to-objects-in-an-array-based-of-a-seperate-array/23092354#23092354" target="_blank">Click to see Stackoverflow question</a>
JavaScript
var orgArray = [
{
"name": "phone",
"value": "123-456-7890"
},
{
"name": "color",
"value": "blue"
},
{
"name": "city",
"value": "San Diego"
},
{
"name": "zip",
"value": "54321"
},
{
"name": "email",
"value": "[email protected]"
},
{
"name": "state",
"value": "CA"
},
{
"name": "Sale",
"value": "On Sale"
}
];
var configArray = [
{
"columns": ["phone", "city", "zip"],
"target": "phone"
},
{
"columns": ["email", "state"],
"target": "email"
}
];
var newArray = [];
_.each(orgArray, function(element, index, list) {
_.each(configArray, function(ele, i) {
if (ele.columns.indexOf(element.name) > -1) {
orgArray[index].target = ele.target;
}
});
});
console.log(orgArray);