分两步:
找到该项的索引
建议:
. 使用 for 循环查找
. 使用 Array.prototype.findIndex 查找
建议:
. 直接设置 arr[i] = val
. 使用 Array.prototype.splice(start, deleteCount, item...),该方法灵活,可以在索引位置同时删除/插入若干项。只是替换,那么第二个参数为1,item....不传就可以了。
function uniq(arr) {return arr.reduce(function(a, b){
var key = b.split('-')[0]
var index = a.findIndex(function(s) {
return s.indexOf(key)
})
if (index >= 0) {
a[index] = b
} else {
a.push(b)
}
return a
}, [])
}
uniq(["pay-111","pay-222","age-111"])