avatar

目录
针对集合的小方法

根据所提供的字符分组

javascript
/**
* 根据所提供的字符分组
* @param {Array} arr => 数组
* @param {String} key => 需要分组的字段
*/
function keyBy(arr, key) {
return arr.reduce(function (newObj, obj) {
if (!newObj[obj[key]]) {
newObj[obj[key]] = [];
newObj[obj[key]].push(obj);
} else {
newObj[obj[key]].push(obj);
}
return newObj;
}, {});
}

测试我们写的方法

javascript
var arr = [{id:1},{id:2}]
var res = delListRep(arr,"id") // {1:[{id:1}],2:[{id:2}]}

根据所提供的字段排序

javascript
/**
* 排序数组里的对象(集合)的某个字段排序
* @param {Array} arr => 数组
* @param {String} key => 字段名
*/
function sortObj(arr, key) {
return arr.sort(function (m, n) {
var key1 = m[key]
var key2 = n[key]
return key2 - key1
})
}

测试我们写的方法

javascript
var arr = [{id:1},{id:2}]
var res = sortObj(arr,"id") // [{id:2},{id:1}]

根据所提供的字段去重

javascript
/**
* 去除指定字段的重复集合
* @param {Array} arr => 数组
* @param {String} key => 需要去重的字段
*/
function delListRep(arr, key) {
var keys = []
for (let i = 0; i < arr.length; i++) {
keys.push(arr[i][key])
}
return arr.filter((ele, i, arr) => keys.indexOf(ele[key]) == i)
}

测试我们写的方法

javascript
var arr = [{id:1},{id:2},{id:1}]
var res = delListRep(arr,"id") // [{id:1},{id:2}]

这样子我们就能简单的去重啦o( ̄▽ ̄)ブ 484神奇

最后,感谢各位观众老爷的观看

文章作者: gating
文章链接: https://gatings.cn/2018-03-28/%E9%92%88%E5%AF%B9%E9%9B%86%E5%90%88%E7%9A%84%E5%B0%8F%E6%96%B9%E6%B3%95/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 磨蹭先生
打赏
  • 微信
    微信
  • 支付宝
    支付宝

评论