编程论坛
注册
登录
编程论坛
→
JavaScript论坛
数组的集合运算
leeqihero
发布于 2019-03-19 14:43, 2060 次点击
给定两个数组,比如a=[1,2,3,4,5],b=[3,5,6,7,8]
求a与b的并集[1,2,3,4,5,6,7,8]
求a与b的交集[3,5]
求差集a-b=[1,2,4],b-a=[6,7,8]
3 回复
#2
leeqihero
2019-03-19 14:47
如果给定的数组有重复的元素,首先要去除重,再做集合运算。用javascript写出来。
#3
leeqihero
2019-03-20 16:09
程序代码:
set={
uniq:
function
(s){
//
去重
var
r=[];
for
(
var
i=0;i<s.length;i++){
if
(s.indexOf(s[i])==i) r.push(s[i]);
};
return
r;
},
d:
function
(s1,s2){
//
差集
var
b=
this
.uniq(s1);
var
a=
this
.uniq(s2);
return
b.filter(v => !a.includes(v));
},
u:
function
(s1,s2){
//
并集
var
b=
this
.uniq(s1);
var
a=
this
.uniq(s2);
return
this
.uniq(a.concat(b));
},
n:
function
(s1,s2){
//
交集
var
b=
this
.uniq(s1);
var
a=
this
.uniq(s2);
return
b.filter(v => a.includes(v));
},
in
:
function
(s1,s2){
//
是否是子集
var
b=
this
.uniq(s1);
var
a=
this
.uniq(s2);
var
c=
this
.n(b,a);
return
b.length==c.length;
}
};
只有本站会员才能查看附件,请
登录
#4
dog852285800
2019-05-03 21:18
推荐大家一个靠谱的论文检测平台。重复的部分有详细出处以及具体修改意见,能直接在文章上做修改,全部改完一键下载就搞定了。怕麻烦的话,还能用它自带的降重功能。哦对了,他们现在正在做毕业季活动, 赠送很多免费字数,可以说是十分划算了!地址是:http://www.
1