Подчеркните _.flatten с префиксом объекта, который нужно сгладить
Мне нужно сплющить объект следующим образом:
{
ProductId: {
Id: "123456-1234-1234-1234-123456789012",
Type: "product",
Name: "Product"
}
}
выглядеть как
{
ProductId_Id: "123456-1234-1234-1234-123456789012",
ProductId_Type: "product",
ProductId_Name: "Product"
}
и в настоящее время я пытаюсь заархивировать это с подчеркиванием, но у _.flatten нет параметра для этого.
1 ответ
Решение
Вы можете вы. Карта и .reduce
var raw = {
ProductId: {
Id: "123456-1234-1234-1234-123456789012",
Type: "product",
Name: "Product"
}
},
flatten = _.map(raw, function(item, k){
return _.reduce(item, function(obj, val, key){
obj[[k,key].join('_')] = val;
return obj;
}, {});
});
console.log(flatten[0])