나는 인수로 전달 된 배열 간의 대칭 차이를 계산하는 함수를 만들었습니다. 나는 2 개의 배열을 위해 그것을했고 그것은 효과가 있었다. 문제는 이제 함수를 n 개의 변수로 확장하려고합니다. arguments.length가 2와 같으면 symm의 차이를 계산해야한다고 생각합니다. 그렇지 않으면 다른 요소와 처음 두 요소 사이의 symm diff를 계산하는 재귀 함수를 호출해야합니다. 나는 몰라, 나는 매우 혼란 스럽다.대칭 차이에 대한 재귀 함수
function sym(args) {
var arr=[].slice.call(arguments);
var cnts={};
var result=[];
if(arguments.length==2){
arr=arguments[0].concat(arguments[1]);
console.log(arr);
for(var number in arr){
if(cnts.hasOwnProperty(arr[number])){
++cnts[arr[number]].cnt;
}
else cnts[arr[number]]={cnt:1,val:arr[number]};
}
for(var counts in cnts){
if(cnts[counts].cnt===1) result.push(cnts[counts].val);
}
}
else{
var first=arguments[0];
var nextDiff=function(next){
return ...........?????????;
};
}
return result;
}
sym([1, 2, 5], [2, 3, 5], [3, 4, 5]);
([자바 스크립트를 사용하여 대칭 차를 해결하기 위해 노력] 가능 중복 http://stackoverflow.com/questions/30834946/trying-to-solve-symmetric-difference-using-javascript) –