陣列取交集 並集與補集

2021-10-25 19:54:44 字數 1095 閱讀 4309

交集

集合論中,設a,b是兩個集合,由所有屬於集合a且屬於集合b的元素所組成的集合,叫做集合a與集合b的交集(intersection),記作a∩b。

並集給定兩個集合a,b,把他們所有的元素合併在一起組成的集合,叫做集合a與集合b的並集,記作a∪b,讀作a並b。

補集一般指絕對補集,即一般地,設s是乙個集合,a是s的乙個子集,由s中所有不屬於a的元素組成的集合,叫做子集a在s中的絕對補集。在集合論和數學的其他分支中,存在補集的兩種定義:相對補集和絕對補集。

這樣乙個需求,原陣列arr1,元件返回陣列arr2,最後需要目標陣列targetarr

目標陣列targetarr中包含arr1與arr2相同的部分,並且刪除arr1不在arr2中的元素

分析:建立乙個新的陣列,取arr1與arr2的交集

再建立乙個陣列,取arr2在arr1中的補集

合併兩個建立的資料,得到targetarr

let arr1 =

let arr2 =[,

]const arr1ids = arr1.

map(d => d.id)

const arr2ids = arr2.

map(d => d.id)

const arr3 = arr2.

map(t =>})

// arr3即為兩個陣列的差集

const arr4 = arr1.

map(t =>})

// arr4為arr2在arr1中的補集

this

.form.dtolist =

[...arr3.

filter

(a => a)

,...arr4.

filter

(a => a)

]

這樣乙個例子,是專案中常用到的乙個演算法,也許會有更簡單的,目前這是我自己的想法。

guozhi-web\src\pages\slcs\viewservice\adminactivity\slcscreate.vue — 217

List交集 並集 補集 差集

最近回看了一下list的基礎,目前網上主流得對list交並補差有兩種方式 交集交集就是兩個集合都有的部分 lista listb 那a交b結果就是 並集並集就是將兩個集合中所有的元素加在一起 lista listb 那麼a並b結果就是 差集差集就是兩集合元素相減,只保留前面集合中剩下的元素 list...

pandas DataFrame 交集並集補集

1.場景,對於colums都相同的dataframe做過濾的時候 例如 df1 dataframe a 10,男 b 11,男 c 11,女 a 10,女 c 11,男 columns name age df2 dataframe a 10,男 b 11,女 columns name age 取交集...

JS陣列取交集 並集

如果陣列中僅是字串和數值 var a 1 2,3 b 2 3,4 5 交集 2,3 var intersection a.filter item b.indexof item 1 並集 1,2,3,4,5 var union a.concat b.filter item a.indexof item...