我输入的是一个像这样的对象数组:
var input = [
{
"id": 1,
"price": 100
},
{
"id": 2,
"price": 3000
},
{
"id": 4,
"price": 200
},
{
"id": 8,
"price": 200
}
]
我想区分元素以获得输出:
var output = [
{
"id": "1",
"price": 100
},
{
"id": "2",
"price": 3000
},
{
"id": "4_8",
"price": 200
}
]
来自lodash。 我真的需要你的帮助,非常感谢你
答案 0 :(得分:0)
在Lodash中,您可以使用_.groupBy
后跟_.map
:
var input = [{"id":1,"price":100},
{"id":2,"price":3000},
{"id":4,"price":200},
{"id":8,"price":200}];
var output = _(input)
.groupBy('price')
.map((vs, k) => ({
id: _.map(vs, 'id').join('_'),
price: +k
}))
.value();
console.log(output);
.as-console-wrapper { min-height: 100% }
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.4/lodash.min.js"></script>