跳到主要内容

uniqBy

2024年06月17日
柏拉文
越努力,越幸运

一、认识


二、语法


三、实现


3.1 reduce

function uniqBy(array, iteratee) {
const iterateeCopy =
typeof iteratee === "string" ? (item) => item[iteratee] : iteratee;
return array.reduce((prev, curr) => {
return prev.concat(
prev.some((item) => iterateeCopy(item) === iterateeCopy(curr)) ? [] : curr
);
}, []);
}

console.log(uniqBy([2.1, 1.2, 2.3], Math.floor));