Skip to content

intersection

输入两个数组arr1arr2,返回它们的交集。

接收一个可选参数getter,它是getByPath函数的字段路径,或者回调函数,用于提供区分元素的标识。

Added in v0.0.1

Usage

ts
import { intersection } from 'parsnip-kit'

intersection([1, 2, 3, NaN], [1, 4, 8, NaN]) // [1, NaN]

intersection(
  [{ v: 1 }, { v: 2 }, { v: 3 }],
  [{ v: 1 }, { v: 4 }, { v: 8 }],
  'v'
) // [{ v: 1 }]

intersection(
  [{ v: [1] }, { v: [2] }, { v: [3] }],
  [{ v: [1] }, { v: [4] }, { v: [8] }],
  'v[0]'
) // [{ v: [1] }]

intersection([1.1, 2.4, 3.9, 4.16], [1, 2, 3, 4, 5, 6], Math.floor) // [1.1, 2.4, 3.9, 4.16]

intersection([1.1, 2.4, 3.9, 4.16], [1, 2, 3, 4, 5, 6], (item: number, index: number, arr: number[]) => {
  return Math.floor(item)
}) // [1.1, 2.4, 3.9, 4.16]

API

Type Parameter

ArgTypeDescription
T数组元素类型

Arguments

ArgTypeOptionalDefaultDescription
arr1T[]falseundefined需要求交集的数组
arr2T[]falseundefined需要求交集的数组
getterstring | ((item: T, index: number, arr: T[]) => any)trueundefined提供区分元素的标识

Returns

Type
T[]