Symmetric Difference

创建一个函数,接受两个或多个数组,返回所给数组的 对等差分(symmetric difference) ( or )数组.

给出两个集合 (如集合 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(args) {
  for(var i in arguments)arguments[i]=arguments[i].filter((val,index,array)=>array.indexOf(val)==index);//变量内容过滤去重
  var newarr=args.join('');//赋值第一个数组给newarr,并将其转化为字符串,便于使用字符串方法
  for(var i=1;ia-b);
    newarr.forEach(function(val,index){
      newarr[index]=parseInt(val);
    });
  return newarr;
}

sym([1, 2, 3], [5, 2, 1, 4]);

 

你可能感兴趣的:(javascript)