function uniqueFunc(...args) {
const paramsLength = arguments.length;
if(paramsLength == 1) {
return [...new Set(arr)];
} else {
const res = new Map();
const flag = arguments[1];
return arguments[0].filter(item => !res.has(item[flag]) && res.set(item[flag], item));
}
}
let arr = [1,2,3,4,5,2];
uniqueFunc(arr);
/** 输出
* [1,2,3,4,5]
*/
let stus = [
{id: 12, name: 'z'},
{id: 2, name: 'ss'},
{id: 3, name: 'z'},
{id: 12, name: 'cc'}
]
uniqueFunc(stus, 'id');
/** 输出
* [
{id: 12, name: 'z'},
{id: 2, name: 'ss'},
{id: 3, name: 'z'}
]
*/
07-20
1万+

“相关推荐”对你有帮助么?
-
非常没帮助
-
没帮助
-
一般
-
有帮助
-
非常有帮助
提交