LendAndRegret/node_modules/es-toolkit/dist/array/intersectionBy.js
2026-05-02 17:27:43 +08:00

20 lines
555 B
JavaScript

'use strict';
Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
function intersectionBy(firstArr, secondArr, mapper) {
const result = [];
const mappedSecondSet = new Set(secondArr.map(mapper));
for (let i = 0; i < firstArr.length; i++) {
const item = firstArr[i];
const mappedItem = mapper(item);
if (mappedSecondSet.has(mappedItem)) {
result.push(item);
mappedSecondSet.delete(mappedItem);
}
}
return result;
}
exports.intersectionBy = intersectionBy;