将数组中的对象数据按照某个属性值进行分组,拆分为多个数组
let list = [{
"name": "aa",
"sex": '0'
},
{
"name": "bb",
"sex": '1'
},
{
"name": "cc",
"sex": '0'
},
{
"name": "dd",
"sex": '1'
}];
将数组数据按照性别进行分组
function groupBy(arr, fn) {
let group = {}
(item => {
let type = (fn(item))
group[type] =group[type] || []
group[type].push(item)
})
return (group).map(item => {
return group[item]
})
}
let res = groupBy(list, function(res) {
return
})
(res)
/**
[
[
{ name: 'aa', sex: '0' }, { name: 'cc', sex: '0' }
],
[
{ name: 'bb', sex: '1' }, { name: 'dd', sex: '1' }
]
]
**/
包含的方法 (data),返回值为数组
-
data为对象:返回数组内容为对象的key
obj = { name: ‘aa’, age: ‘18’, sex: 1 }
(obj) ⇒ [‘name’, ‘age’, ‘sex’] -
data为字符串或数组:返回数组内容为下标索引
arr = [‘a’, ‘b’, ‘c’]
str = ‘hello’
(arr) ⇒ [‘0’, ‘1’ ,‘2’]
(str) ⇒ [‘0’, ‘1’ ,‘2’, ‘3’, ‘4’]