You can use lodash#map to transform each item in the user
array and lodash#mapKeys to transorm each of the user
item's keys.
const result = _.map(user, data =>
_.mapKeys(data, (v, k) => k.replace(/^y_/, '')));
const user = [
{"data":"2","y_data1":1},
{"data":"4","y_data1":3,"y_data2":3}
];
const result = _.map(user, data =>
_.mapKeys(data, (v, k) => k.replace(/^y_/, '')));
console.log(result);
.as-console-wrapper{min-height:100%;top:0}
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.10/lodash.min.js"></script>
Pure JS solution: Use Array#map for the item transformation, and a combination of Object.entries() and Array#reduce to achieve the key transformation.
const result = user.map(data =>
Object.entries(data).reduce(
(r, [k, v]) => (r[k.replace(/^y_/, '')] = v, r),
{}
)
);
const user = [
{"data":"2","y_data1":1},
{"data":"4","y_data1":3,"y_data2":3}
];
const result = user.map(data =>
Object.entries(data).reduce(
(r, [k, v]) => (r[k.replace(/^y_/, '')] = v, r),
{}
)
);
console.log(result);
.as-console-wrapper{min-height: 100%; top: 0}