1 回答

TA貢獻1877條經驗 獲得超6個贊
這并不漂亮,當您擁有非常大的數據集時,它的性能也不會很好,但它可以正常工作并產生您期望的輸出。
const arr = [
{
"name":"D1D1",
"attritube":"HOST_NAME",
"value_inv":"TEST1",
"value_prod":"TESTA1"
},
{
"name":"D1D1",
"attritube":"HOST_NAME",
"value_inv":"TEST2",
"value_prod":"TESTB1"
},
{
"name":"D2D2",
"attritube":"COMMENTS",
"value_inv":"TEST1",
"value_prod":"TESTA1"
}
];
const newArr = _.chain(arr)
.groupBy('name')
.toPairs()
.map((val) => ({
name: val[0],
fields: _.map(val[1], (v) => _.omit(v, ['name']))
}))
.value();
console.log(newArr);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.min.js"></script>
添加回答
舉報