2014-04-13 2 views
2

Google Apps 스크립트에이 library, 특히 고유 기능을 사용했습니다.배열 JavaScript의 중복, 고유 한 값 및 고유 값

[1,2,3][2,3,4], 내가 array1.concat(array2)을 사용하고 반환 독특한 기능, [1,2,3을 사용하고 있습니다 : 내가 좋아하는 두 배열이있는 경우

는 지금까지 내가 무엇을 필요로하신 4].

예를 들어 [1,4] 인 고유 한 값을 검색하려면 어떻게해야합니까?

+1

가능한 중복 http://stackoverflow.com/ 질문/1960473/unique-values-in-an-array) – elclanrs

답변

3

다음 함수를 사용하면 고유하고 고유하며 반복되는 요소의 개체가 반환됩니다. 귀하의 경우에는

DEMO

var a = [1,2,3], b = [2,3,4]; 
var c = a.concat(b); 

function arrays(array) { 
    var distinct = [], unique = [], repeated = [], repeat = []; 

    array.forEach(function(v,i,arr) { 
     arr.splice(i,1); 
     (distinct.indexOf(v) === -1) ? distinct.push(v) : repeat.push(v); 
     (arr.indexOf(v) === -1) ? unique.push(v) : void 0; 
     arr.splice(i,0,v); 
    }); 

    repeat.forEach(function(v,i,arr) { 
     (repeated.indexOf(v) === -1) ? repeated.push(v) : void 0; 
    }); 

    repeat = []; 

    return { 
     "distinct" : distinct, 
     "unique" : unique, 
     "repeated" : repeated 
    }; 
} 

console.log(arrays(c)); 
당신은 얻을 원하는 결과 같은 console.log(arrays(c).unique) [1,4] [배열에서 고유 값 (의

+1

이제 멋진 기능입니다 :-) 감사합니다. – dave