首页 > 学院 > 开发设计 > 正文

JS:对等差分

2019-11-08 01:13:54
字体:
来源:转载
供稿:网友

给出两个集合(如集合A = {1, 2, 3}和集合B = {2, 3, 4})),而数学术语“对等差分”的集合就是指由所有只在两个集合其中之一的元素组成的集合(A △ B = C = {1, 4})。对于传入的额外集合(如D = {2, 3}),你应该安装前面原则求前两个集合的结果与新集合的对等差分集合(C △ D = {1, 4} △ {2, 3} = {1, 2, 3, 4})。

function sym() { //不造有几个参数,所以就先轮出来 var args = []; for(var i=0;i<arguments.length;i++){ args.push(arguments[i]); } //函数:你没有的,result没有的,都插入result function diff(aOne,aTwo){ var result = []; aOne.forEach(function(i){ if(aTwo.indexOf(i)<0&&result.indexOf(i)<0){ result.push(i); } }); aTwo.forEach(function(i){ if(aOne.indexOf(i)<0&&result.indexOf(i)<0){ result.push(i); } }); return result; } //reduce该数组,并排序 return args.reduce(diff).sort();}sym([3, 3, 3, 2, 5], [2, 1, 5, 7], [3, 4, 6, 6], [1, 2, 3], [5, 3, 9, 8], [1]);//[ 1, 2, 4, 5, 6, 7, 8, 9 ]
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表