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);