数组去重
将每天看到的优秀的代码或者特别的实现,记录下来
2019-2-21
let b = [
{
name: '颜色',
value: '黑色'
},
{
name: '尺寸',
value: 'xxl'
},
{
name: '颜色',
value: '白色'
},
{
name: '大小',
value: '小'
},
{
name: '尺寸',
value: 'xxl'
}
]
Q&A
- 把 name 相同的放在一起,value 用
,
分割
var hash = {}
var i = 0
var res = []
b.forEach(function(item) {
var name = item.name
hash[name]
? res[hash[name] - 1].value.push(item.value)
: (hash[name] =
++i &&
res.push({
name: name,
value: [item.value]
}))
})