关于js你肯定会用到的方法封装,拿走不谢
1.创建一个模拟数组
const mockdata = function(count){
let result = {"success":true,"msg":'请求成功',"data":[]} //具体的字段最好对应好
(...Array(count).keys()).map(value,key)=>{
this.result.data.push({'name':value,"nick_name":"lala"+value})
}
return result
}
export mockdata
2.把一个二维数组合并成一维数组
let c = b.map(stream==>{return stream.url.match(/\d+/g)}).flat(Infinity) //.flat(Infinity)是把二维数组合并成一维数组**非常的好用。
3.两个数组之间的匹配
return d.filter(channel=>{!c.some(used=>used==channel)})
4.数组对象的分类,分组方法
const groupBy = (array, f) => {
let groups = {};
array.forEach(function (o) {
var group = JSON.stringify(f(o));
groups[group] = groups[group] || [];
groups[group].push(o);
});
return Object.keys(groups).map(function (group) {
return groups[group];
});
};
const arrayGroupBy = (list, groupId) => {
let sorted = groupBy(list, function (item) {
return [item[groupId]];
});
return sorted;
};
const allUser = arrayGroupBy(data.data, 'userId');// 使用变量分别为list和根据匹配的属性
5.数组对象去重
let newobj = {};
arr = arr .reduce((preVal, curVal) => {
newobj[curVal.id] ? '' : newobj[curVal.id] = preVal.push(curVal);
return preVal
}, [])
直接拿去就可以用