如果陣列中僅是字串和數值
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)
===-1)
)
交集的邏輯就是將b在a裡邊過濾一下,只需要a裡邊找不到的即可。並集的邏輯類似,使用concat方法將a裡邊沒有的資料合併到a裡邊,因此在過濾b的時候要判斷a裡邊能不能找到索引。
var a =[1
,2,3
], b =[2
,3,4
,5];
// 交集---[2,3]
var intersection =a.
filter
(item
=>
newset
(b).
has(item)
)// 並集---[1,2,3,4,5]
var union= array.
from
(new
set(
[...a,
...b]
))
這裡使用了es6語法中的set型別,其類似於陣列,但成員都是唯一,因此很方便與去重。而且還能夠使用其內建的方法。
在獲取並集的時候,使用了陣列的from方法,將set型別轉為陣列。
var c =[,
];var d =[,
];// 交集---
var intersection =
;for
(let i =
0; i< c.length; i++)}
}// 並集
var union =
[...c,
...d]
for(
let i =
0; i< c.length; i++))
,1)}
}}
交集的邏輯是雙重迴圈去判斷物件內的唯一值是否相等,然後將相等的資料放到陣列中。並集的邏輯類似,也是雙重迴圈去判斷二者,但是在剛開始就將兩個陣列進行展開,因此在判斷兩者有一樣的資料時,要通過splice方法去刪除當前值。 js陣列交集 並集 差集
1.利用filter indexof var arr1 1,2,3,4,5,6,7,8,9,nan arr2 1,3,5,nan var intersection arr1.filter function val console.log intersection 1,3,5 但這種方法針對是valu...
陣列取交集 並集與補集
交集 集合論中,設a,b是兩個集合,由所有屬於集合a且屬於集合b的元素所組成的集合,叫做集合a與集合b的交集 intersection 記作a b。並集給定兩個集合a,b,把他們所有的元素合併在一起組成的集合,叫做集合a與集合b的並集,記作a b,讀作a並b。補集一般指絕對補集,即一般地,設s是乙個...
Postgresql取並集,交集,差集
關鍵字union 例子 query1 union query2 關鍵字intersect 例子 query1 intersect query2 關鍵字except 例子 query1 except query2 其中query1和query2的select子句中欄位個數必須相同,且對應的資料型別必須...